Syntaxe
EXTRACTION(Chaîne,Début,Longueur)
Description
La fonction scalaire SQL EXTRACTION permet d'obtenir une sous-chaîne d'une chaîne.
Le résultat est une chaîne de caractères.
Si un argument quelconque de la fonction EXTRACTION peut être nul, le résultat peut l'être également.
Si un argument quelconque est nul, le résultat l'est aussi.
Paramètres
Chaîne |
Argument qui identifie la chaîne dont est issu le résultat. Une sous-chaîne de Chaîne correspond à zéro ou à plusieurs octets contigus de l'argument Chaîne.
|
Début |
Argument qui correspond à la position du premier caractère (ou octet) du résultat. Ce caractère doit être un nombre entier binaire positif inférieur ou égal à l'attribut de longueur de Chaîne (l'attribut de longueur d'une chaîne de longueur variable correspond à sa valeur maximum). |
Longueur |
Argument facultatif qui correspond à la longueur du résultat. S'il est défini, l'argument Longueur doit correspondre à un nombre entier binaire compris entre 0 et n, où n correspond à l'attribut de longueur de Chaîne - Début + 1. Toutefois, il ne doit pas être égal à la constante entière 0.
Si l'argument Chaîne est de longueur fixe, toute omission de l'argument Longueur est une spécification implicite de LONGUEUR(Chaîne) - Début + 1, qui correspond au nombre de caractères (ou octets) entre le premier caractère (ou octet) Début et le dernier caractère (ou octet) de l'argument Chaîne.
Si l'argument Chaîne est une chaîne de longueur variable, toute omission de l'argument Longueur est une spécification implicite de zéro ou de LONGUEUR(Chaîne) - Début + 1 (selon la valeur la plus grande). Si la longueur résultante est égale à zéro, le résultat est une chaîne vide. |
Par exemple
Premier cas :
Soit la colonne NOM (ALPHA(50)) dont la valeur est 'SERGE DUPAIN'.
EXTRACTION(NOM, 7)
Renvoie la valeur 'DUPAIN'.
EXTRACTION(NOM, 7, 1)
Renvoie la valeur 'D'.
Second cas:
Sélectionner toutes les lignes du tableau PROJET dont le nom de projet (NOMPROJ) commence par le mot 'OPERATION'.
CURSEUR C1 PROJET
*COND(EXTRACTION(NOMPROJ,1 ,10) = 'OPERATION ')
L'espace situé à la fin de la constante est requis pour empêcher la formation de tout autre mot tel que 'OPERATIONS'.