Les fonctions INSTR (INSTR, INSTRB, INSTRC, INSTR2 et INSTR4) recherchent une chaîne pour une sous-chaîne à l’aide de caractères et retournent la position dans la chaîne qui est le premier caractère d’un spécifié occurrence de la sous-chaîne. Les fonctions varient dans la façon dont elles déterminent la position de la sous-chaîne à renvoyer.
-
INSTR calcule les longueurs en utilisant les caractères définis par le jeu de caractères d’entrée.
-
INSTRB calcule les longueurs en utilisant des octets.
-
INSTRC calcule les longueurs en utilisant des caractères complets Unicode.
-
INSTR2 calcule les longueurs en utilisant les points de code UCS2.
-
INSTR4 calcule les longueurs en utilisant les points de code UCS4.
Valeur de retour
Un INTEGER différent de zéro lorsque la recherche est réussie ou 0
(zéro) quand ce n’est pas le cas.
Syntaxe
{INSTR | INSTRB | INSTRC | INSTR2 | INSTR4} (chaîne, sous-chaîne])
Arguments
chaîne
Expression de texte à rechercher.
sous-chaîne
La chaîne à rechercher.
position
Un INTEGER différent de zéro indiquant où dans la chaîne la fonction commence la recherche. INSTR calcule la position à l’aide des caractères définis par le jeu de caractères d’entrée. INSTRB calcule la position en utilisant des octets. INSTRC calcule la position en utilisant des caractères complets Unicode. INSTR2 calcule la position à l’aide des points de code UCS2. INSTR4 calcule la position en utilisant les points de code UCS4.
Lorsque la position est négative, INSTR compte et recherche en arrière à partir de la fin de la chaîne. La valeur par défaut de position est 1
, ce qui signifie que la fonction commence la recherche au début de la chaîne.
occurrence
Un INTEGER indiquant l’occurrence de chaîne que la fonction doit rechercher. La valeur d’occurrence doit être positive. La valeur par défaut d’occurrence est 1
, ce qui signifie que la fonction recherche la première occurrence de sous-chaîne.
Exemples
Exemple 7 -127 Utilisation de la position de caractère pour rechercher en avant pour trouver la position d’une sous-chaîne
L’exemple suivant recherche la chaîne « Corporate Floor », en commençant par le troisième caractère, pour la chaîne « ou ». Il renvoie la position dans « Corporate Floor » à laquelle commence la deuxième occurrence de « ou ».
SHOW INSTR("Corporate Floor","or", 3, 2)14
Exemple 7-128 Utilisation de la position du caractère pour rechercher en arrière pour trouver la position d’une sous-chaîne
Dans cet exemple suivant, la fonction compte à rebours du dernier caractère au troisième caractère à partir de la fin, qui est le premier « o » de » Étage ». La fonction recherche ensuite en arrière la deuxième occurrence de « ou » et constate que cette deuxième occurrence commence par le deuxième caractère de la chaîne de recherche.
SHOW INSTR("Corporate Floor","or", -3, 2)2
Exemple 7-129 Utilisation d’un jeu de caractères à deux octets pour trouver la position d’une sous-chaîne
Cet exemple suppose un jeu de caractères de base de données à deux octets.
SHOW INSTRB("Corporate Floor","or",5,2) 27