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 |