Comment : |
La fonction SUBSTRING extrait une sous-chaîne d'une chaîne source. Si la position de fin que vous avez spécifié pour la sous-chaîne se trouve après la fin de la chaîne source, la position du dernier caractère de la chaîne source devient la position de fin de la sous-chaîne.
SUBSTRING(string, position, length)
où :
Alphanumérique
est la chaîne depuis laquelle extraire la sous-chaîne. Il peut s'agir d'un champ, d'un littéral entouré de guillemets simples (‘), ou encore d'une variable.
Entier
est la position de départ de la sous-chaîne dans string. Si la position est 0, elle est traitée comme si elle était 1. Si la position est négative, la position de départ est comptée en arrière à partir de la fin de string.
Entier
est la longueur maximale de la sous-chaîne. La position de fin de la sous-chaîne est calculée en tant que position + length - 1. Si la position calculée au-delà de la fin de la chaîne , la position du dernier caractère de source_string devient la position de fin.
Le type de données de la valeur renvoyée est AnV.
Dans la requête suivante, POSITION détermine la position de la première lettre I dans LAST_NAME; le résultat est stocké dans I_IN_NAME. SUBSTRING extrait ensuite trois caractères commençant par la lettre I à partir de LAST_NAME et stocke le résultat dans I_SUBSTR.
TABLE FILE EMPLOYEE PRINT COMPUTE I_IN_NAME/I2 = POSITION('I', LAST_NAME); AND COMPUTE I_SUBSTR/A3 = SUBSTRING(LAST_NAME, I_IN_NAME, I_IN_NAME+2); BY LAST_NAME ON TABLE SET PAGE NOPAGE END
La sortie est :
LAST_NAME I_IN_NAME I_SUBSTR --------- --------- -------- BANNING 5 ING BLACKWOOD 0 BL CROSS 0 CR GREENSPAN 0 GR IRVING 1 IRV JONES 0 JO MCCOY 0 MC MCKNIGHT 5 IGH ROMANS 0 RO SMITH 3 ITH 3 ITH STEVENS 0 ST
WebFOCUS |