En SQL, la fonction RTRIM() permet de supprimer des caractères à la fin d’une chaîne de caractères. En général cette fonction SQL permet de supprimer des caractères invisibles (cf. espace, tabulation, retour à la ligne, retour chariot …). Mais certains Systèmes de Gestion de Base de Données permettent de choisir les caractères à supprimer.
Syntaxe
Pour supprimer les caractères invisibles à la fin d’une chaîne il est possible d’utiliser une requête SQL avec cette syntaxe:
SELECT RTRIM(' Exemple ');
Résultat :
' Exemple'
Supprimer un caractère spécifique en fin de chaîne
Avec les systèmes PostgreSQL, Oracle et SQLite il est possible de choisir les caractères à supprimer. Cela est particulièrement bénéfique s’il faut supprimer des caractères spécifiques à la fin d’une chaîne. La syntaxe est la suivante:
SELECT RTRIM('xxxExemplexxx', 'x');
Résultat:
'xxxExemple'
Exemple
Pour montrer un exemple plus concret nous allons prendre une table contenant des messages laissés par des utilisateurs.
Table message :
id | date_ajout | contenu |
---|---|---|
1 | 2013-07-11 | Bonjour, ceci est un message de test. |
2 | 2013-07-18 | Ceci est une réponse avec des caractères "invisibles" au début et à la fin. |
3 | 2013-08-02 | Encore un autre message. |
4 | 2013-08-29 | Dernier message avec un retour à la ligne. |
Cette table contient parfois des retour à la ligne à la fin. Or cela génère des espaces vides lors de l’affichage et ce n’est pas très agréable pour lire les messages. Pour supprimer les retour à la ligne à la fin il est possible d’utiliser la fonction RTRIM() de la manière suivante:
SELECT id, date_ajout, RTRIM(contenu) AS contenu_trim FROM message
Résultats :
id | date_ajout | contenu |
---|---|---|
1 | 2013-07-11 | Bonjour, ceci est un message de test. |
2 | 2013-07-18 | Ceci est une réponse avec des caractères "invisibles" au début et à la fin. |
3 | 2013-08-02 | Encore un autre message. |
4 | 2013-08-29 | Dernier message avec un retour à la ligne. |
En savoir plus
Il existe des fonctions SQL très semblables :