
La fonction SQL ORACLE INSTR permet de retourner la position de la première occurrence d’une chaine de caractère (char2) dans une autre chaine de caractère (char1)
INSTR(char1, char2)
SELECT INSTR('Bonjour', 'o') FROM DUAL;
INSTR('BONJOUR','O')
----------------------
2Si jamais la chaine cherché n’existe pas alors le résultat est égal à 0
SELECT INSTR('Bonjour', 't') FROM DUAL;
INSTR('BONJOUR','T')
----------------------
0
La fonction INSTR est sensible à la casse:
SELECT INSTR('Bonjour', 'b') FROM DUAL;
INSTR('BONJOUR','B')
----------------------
0Une astuce pour remédier à cela, c’est de rendre les deux chaines en majuscule ou en minuscule
SELECT INSTR(UPPER('Bonjour'), UPPER('b')) FROM DUAL;
INSTR(UPPER('BONJOUR'),UPPER('B'))
----------------------------------
1
Questions fréquentes
À quoi sert la fonction INSTR en Oracle ?
INSTR renvoie la position d’une sous-chaîne : INSTR('bonjour@mail.com', '@') renvoie 8. Si la sous-chaîne est absente, INSTR renvoie 0.
Comment trouver la 2e occurrence d’un caractère ?
Utilisez les 3e et 4e arguments : INSTR(chaine, ',', 1, 2) cherche la 2e virgule à partir de la position 1.
Comment chercher depuis la fin de la chaîne ?
Position de départ négative : INSTR('a/b/c.txt', '/', -1) trouve le dernier « / » — pratique pour extraire un nom de fichier.

je vous remercie pour ce cours sur le sql sous oracle que j’avais oublie en cote d’ivoire et je retrouve les notes bien detaille.je suis un formateur au congo Brazza