Compléter/réduire une chaîne
Les fonctions LPAD() et RPAD() appliquées à une chaîne de caractères retournent cette chaîne en lui donnant une longueur
particulière, donnée en paramètre. Si la chaîne de départ est trop longue, elle sera raccourcie, si elle est trop courte, des
caractères seront ajoutés, à gauche de la chaîne pour LPAD(), à droite pour RPAD().
Ces fonctions nécessitent trois paramètres : la chaîne à transformer (texte), la longueur désirée (long ), et le caractère à ajouter si
la chaîne est trop courte (caract).
Code : SQL
LPAD(texte, long, caract)
RPAD(texte, long, caract)
Code : SQL
SELECT LPAD('texte', 3, '@') AS '3_gauche_@',
LPAD('texte', 7, '$') AS '7_gauche_$',
RPAD('texte', 5, 'u') AS '5_droite_u',
RPAD('texte', 7, '*') AS '7_droite_*',
RPAD('texte', 3, '-') AS '3_droite_-';
3_gauche_@ 7_gauche_$ 5_droite_u 7_droite_* 3_droite_tex
$$texte
texte
texte**
tex
Ôter les caractères inutiles
Il peut arriver que certaines de vos données aient des caractères inutiles ajoutés avant et/ou après le texte intéressant. Dans ce
cas, il vous est possible d'utiliser la fonction TRIM(), qui va supprimer tous ces caractères. Cette fonction a une syntaxe un peu
particulière que voici :
Code : SQL
TRIM([[BOTH | LEADING | TRAILING] [caract] FROM] texte);
Je rappelle que ce qui est entre crochets est facultatif.
On peut donc choisir entre trois options : BOTH, LEADING et TRAILING.
BOTH : les caractères seront éliminés à l'avant, et à l'arrière du texte
LEADING : seuls les caractères à l'avant de la chaîne seront supprimés
TRAILING : seuls les caractères à l'arrière de la chaîne seront supprimés
Si aucune option n'est précisée, c'est BOTH qui est utilisé par défaut.
caract est la chaîne de caractères (ou le caractère unique) à éliminer en début et/ou fin de chaîne. Ce paramètre est facultatif : par
défaut les espaces blancs seront supprimées. Et texte est bien sûr la chaîne de caractères à traiter.
Code : SQL
SELECT TRIM(' Tralala ') AS both_espace,
TRIM(LEADING FROM ' Tralala ') AS lead_espace,
TRIM(TRAILING FROM ' Tralala ') AS trail_espace,
TRIM('e' FROM 'eeeBouHeee') AS both_e,
TRIM(LEADING 'e' FROM 'eeeBouHeee') AS lead_e,
Partie 3 : Fonctions : nombres, chaînes et agrégats
165/414
www.openclassrooms.com
Les fonctions LPAD() et RPAD() appliquées à une chaîne de caractères retournent cette chaîne en lui donnant une longueur
particulière, donnée en paramètre. Si la chaîne de départ est trop longue, elle sera raccourcie, si elle est trop courte, des
caractères seront ajoutés, à gauche de la chaîne pour LPAD(), à droite pour RPAD().
Ces fonctions nécessitent trois paramètres : la chaîne à transformer (texte), la longueur désirée (long ), et le caractère à ajouter si
la chaîne est trop courte (caract).
Code : SQL
LPAD(texte, long, caract)
RPAD(texte, long, caract)
Code : SQL
SELECT LPAD('texte', 3, '@') AS '3_gauche_@',
LPAD('texte', 7, '$') AS '7_gauche_$',
RPAD('texte', 5, 'u') AS '5_droite_u',
RPAD('texte', 7, '*') AS '7_droite_*',
RPAD('texte', 3, '-') AS '3_droite_-';
3_gauche_@ 7_gauche_$ 5_droite_u 7_droite_* 3_droite_tex
$$texte
texte
texte**
tex
Ôter les caractères inutiles
Il peut arriver que certaines de vos données aient des caractères inutiles ajoutés avant et/ou après le texte intéressant. Dans ce
cas, il vous est possible d'utiliser la fonction TRIM(), qui va supprimer tous ces caractères. Cette fonction a une syntaxe un peu
particulière que voici :
Code : SQL
TRIM([[BOTH | LEADING | TRAILING] [caract] FROM] texte);
Je rappelle que ce qui est entre crochets est facultatif.
On peut donc choisir entre trois options : BOTH, LEADING et TRAILING.
BOTH : les caractères seront éliminés à l'avant, et à l'arrière du texte
LEADING : seuls les caractères à l'avant de la chaîne seront supprimés
TRAILING : seuls les caractères à l'arrière de la chaîne seront supprimés
Si aucune option n'est précisée, c'est BOTH qui est utilisé par défaut.
caract est la chaîne de caractères (ou le caractère unique) à éliminer en début et/ou fin de chaîne. Ce paramètre est facultatif : par
défaut les espaces blancs seront supprimées. Et texte est bien sûr la chaîne de caractères à traiter.
Code : SQL
SELECT TRIM(' Tralala ') AS both_espace,
TRIM(LEADING FROM ' Tralala ') AS lead_espace,
TRIM(TRAILING FROM ' Tralala ') AS trail_espace,
TRIM('e' FROM 'eeeBouHeee') AS both_e,
TRIM(LEADING 'e' FROM 'eeeBouHeee') AS lead_e,
Partie 3 : Fonctions : nombres, chaînes et agrégats
165/414
www.openclassrooms.com
