
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)
---------------------
njourL’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
- Fonction SQL ORACLE – INITCAP()
- Fonction SQL ORACLE – REPLACE()
- Fonction SQL ORACLE – DECODE()
- Fonction SQL ORACLE – COUNT()
- Fonction SQL ORACLE – MAX()
- Fonction SQL ORACLE – MIN()
📌 À lire aussi : INSTR Oracle : position d’une chaîne · REPLACE Oracle : remplacer du texte
