SUBSTR Oracle : extraire une sous-chaîne (exemples concrets)

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

La fonction SQL ORACLE SUBSTR permet d’extraite d’à partir de la chaine (char) n caractères depuis la m éme position

SUBSTR(char, m, n)

Exemple:

SELECT SUBSTR('Bonjour', 3, 2) FROM DUAL;

SUBSTR('BONJOUR',3,2) 
--------------------- 
nj


Nous pouvons ne pas spécifier le nombre de caractère à afficher (n). Dans ce cas, le reste de la chaine est affiché:

SELECT SUBSTR('Bonjour', 3) FROM DUAL;

SUBSTR('BONJOUR',3) 
--------------------- 
njour

L’indice (m) peut être négatif. Le calcul des indices commence par la fin de la chaine:

SELECT SUBSTR('Bonjour', -1), SUBSTR('Bonjour', -2), SUBSTR('Bonjour', -4) FROM DUAL;

SUBSTR('BONJOUR',-1) SUBSTR('BONJOUR',-2) SUBSTR('BONJOUR',-4) 
-------------------- -------------------- -------------------- 
r                    ur                   jour

 

Questions fréquentes

Comment extraire les premiers caractères d’une chaîne en Oracle ?

Utilisez SUBSTR(chaine, 1, n) : par exemple SUBSTR('ORACLE', 1, 3) renvoie « ORA ».

Que fait SUBSTR avec une position négative ?

Une position négative compte depuis la fin de la chaîne : SUBSTR('ORACLE', -3) renvoie « CLE » (les 3 derniers caractères).

Quelle est la différence entre SUBSTR et INSTR ?

SUBSTR extrait une portion de chaîne, INSTR renvoie la position d’une sous-chaîne. On les combine souvent : SUBSTR(email, 1, INSTR(email, '@') - 1) extrait la partie avant le @.

Sur le même thème

📌 À lire aussi : INSTR Oracle : position d’une chaîne · REPLACE Oracle : remplacer du texte

Un nouveau tutoriel SQL par semaine

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

Publicité

Laisser un commentaire

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

Publicité