INSTR Oracle : trouver la position d’une chaîne (exemples)

Illustration du tutoriel SQL Oracle : Fonction SQL ORACLE – INSTR()

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') 
---------------------- 
2

Si 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') 
---------------------- 
0

Une 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.

Sur le même thème

Un nouveau tutoriel SQL par semaine

Nous ne spammons pas ! Consultez notre politique de confidentialité pour plus d’informations.

Publicité

Un commentaire

  1. 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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Publicité