TRIM(BOTH 'e' FROM 'eeeBouHeee') AS both_e,
TRIM('123' FROM '1234ABCD4321') AS both_123;
both_espace lead_espace trail_espace both_e lead_e both_e both_123
Tralala
Tralala
Tralala
BouH BouHeee BouH 4ABCD4321
Récupérer une sous-chaîne
La fonction SUBSTRING() retourne une partie d'une chaîne de caractères. Cette partie est définie par un ou deux paramètres :
pos (obligatoire), qui donne la position de début de la sous-chaîne, et long (facultatif) qui donne la longueur de la sous-chaîne
désirée (si ce paramètre n'est pas précisé, toute la fin de la chaîne est prise).
Quatre syntaxes sont possibles :
SUBSTRING(chaine, pos)
SUBSTRING(chaine FROM pos)
SUBSTRING(chaine, pos, long)
SUBSTRING(chaine FROM pos FOR long)
Code : SQL
SELECT SUBSTRING('texte', 2) AS from2,
SUBSTRING('texte' FROM 3) AS from3,
SUBSTRING('texte', 2, 3) AS from2long3,
SUBSTRING('texte' FROM 3 FOR 1) AS from3long1;
from2 from3 from2long3 from3long1
exte
xte
ext
x
Recherche et remplacement
Rechercher une chaîne de caractères
INSTR(), LOCATE() et POSITION() retournent la position de la première occurrence d'une chaîne de caractères rech dans
une chaîne de caractères chaine. Ces trois fonctions ont chacune une syntaxe particulière :
INSTR(chaine, rech)
LOCATE(rech, chaine) - les paramètres sont inversés par rapport à INSTR()
POSITION(rech IN chaine)
Si la chaîne de caractères rech n'est pas trouvée dans chaine, ces fonctions retournent 0. Par conséquent, la première lettre d'une
chaîne de caractères est à la position 1 (alors que dans beaucoup de langages de programmation, on commence toujours à la
position 0).
LOCATE() peut aussi accepter un paramètre supplémentaire : pos, qui définit la position dans la chaîne à partir de laquelle il
faut rechercher rech : LOCATE(rech, chaine, pos).
Code : SQL
SELECT INSTR('tralala', 'la') AS fct_INSTR,
POSITION('la' IN 'tralala') AS fct_POSITION,
LOCATE('la', 'tralala') AS fct_LOCATE,
LOCATE('la', 'tralala', 5) AS fct_LOCATE2;
Partie 3 : Fonctions : nombres, chaînes et agrégats
166/414
www.openclassrooms.com
TRIM('123' FROM '1234ABCD4321') AS both_123;
both_espace lead_espace trail_espace both_e lead_e both_e both_123
Tralala
Tralala
Tralala
BouH BouHeee BouH 4ABCD4321
Récupérer une sous-chaîne
La fonction SUBSTRING() retourne une partie d'une chaîne de caractères. Cette partie est définie par un ou deux paramètres :
pos (obligatoire), qui donne la position de début de la sous-chaîne, et long (facultatif) qui donne la longueur de la sous-chaîne
désirée (si ce paramètre n'est pas précisé, toute la fin de la chaîne est prise).
Quatre syntaxes sont possibles :
SUBSTRING(chaine, pos)
SUBSTRING(chaine FROM pos)
SUBSTRING(chaine, pos, long)
SUBSTRING(chaine FROM pos FOR long)
Code : SQL
SELECT SUBSTRING('texte', 2) AS from2,
SUBSTRING('texte' FROM 3) AS from3,
SUBSTRING('texte', 2, 3) AS from2long3,
SUBSTRING('texte' FROM 3 FOR 1) AS from3long1;
from2 from3 from2long3 from3long1
exte
xte
ext
x
Recherche et remplacement
Rechercher une chaîne de caractères
INSTR(), LOCATE() et POSITION() retournent la position de la première occurrence d'une chaîne de caractères rech dans
une chaîne de caractères chaine. Ces trois fonctions ont chacune une syntaxe particulière :
INSTR(chaine, rech)
LOCATE(rech, chaine) - les paramètres sont inversés par rapport à INSTR()
POSITION(rech IN chaine)
Si la chaîne de caractères rech n'est pas trouvée dans chaine, ces fonctions retournent 0. Par conséquent, la première lettre d'une
chaîne de caractères est à la position 1 (alors que dans beaucoup de langages de programmation, on commence toujours à la
position 0).
LOCATE() peut aussi accepter un paramètre supplémentaire : pos, qui définit la position dans la chaîne à partir de laquelle il
faut rechercher rech : LOCATE(rech, chaine, pos).
Code : SQL
SELECT INSTR('tralala', 'la') AS fct_INSTR,
POSITION('la' IN 'tralala') AS fct_POSITION,
LOCATE('la', 'tralala') AS fct_LOCATE,
LOCATE('la', 'tralala', 5) AS fct_LOCATE2;
Partie 3 : Fonctions : nombres, chaînes et agrégats
166/414
www.openclassrooms.com
