POSIT : Rechercher le début d'une sous-chaîne

Comment :

Langages disponibles : reporting

La fonction POSIT trouve la position de départ d'une sous-chaîne au sein d'une chaîne source. Par exemple, la position de départ de la sous-chaîne DUCT dans la chaîne PRODUCTION est quatre. Si la sous-chaîne ne figure pas dans la chaîne parent, la fonction renvoie la valeur 0.


Haut de page

x
Syntaxe : Rechercher le début d'une sous-chaîne
POSIT(source_string, length, substring, sublength, output)

où :

source_string

Alphanumérique

est la constante alphanumérique à analyser entre guillemets simples, ou un champ ou une variable contenant la chaîne de caractères source.

length

Entier

est le nombre de caractères dans la chaîne source, ou un champ qui contient la longueur. Si l'argument est inférieur ou égal à 0, la fonction renvoie 0.

substring

Alphanumérique

est la sous-chaîne dont la position est ce que vous voulez trouver. Cela peut être une sous-chaîne encadrée par des guillemets simples, ou le champ qui contient la chaîne.

sublength

Entier

est le nombre de caractères dans substring. Si cet argument est inférieur ou égal à 0 ou qu'il est supérieur à lenght, la fonction renvoie 0.

output

Entier

est le champ qui contient le résultat, ou le format de la valeur de sortie entre guillemets simples.



Exemple : Rechercher la position d'une lettre

POSIT détermine la position de la première lettre capitale I dans LAST_NAME; le résultat est stocké dans I_IN_NAME :

TABLE FILE EMPLOYEE
PRINT LAST_NAME AND COMPUTE
I_IN_NAME/I2 = POSIT(LAST_NAME, 15, 'I', 1, 'I2');
WHERE DEPARTMENT EQ 'PRODUCTION'
END

La sortie est :

LAST_NAME        I_IN_NAME
---------        ---------
STEVENS                  0
SMITH                    3
BANNING                  5
IRVING                   1
ROMANS                   0
MCKNIGHT                 5

Information Builders