SQL RTRIM()

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 :

iddate_ajoutcontenu
12013-07-11 Bonjour, ceci est un message de test.

22013-07-18

Ceci est une réponse avec des caractères "invisibles" au début et à la fin.

32013-08-02
Encore un autre message.
42013-08-29Dernier 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 :

iddate_ajoutcontenu
12013-07-11 Bonjour, ceci est un message de test.
22013-07-18

Ceci est une réponse avec des caractères "invisibles" au début et à la fin.
32013-08-02
Encore un autre message.
42013-08-29Dernier message avec un retour à la ligne.

En savoir plus

Il existe des fonctions SQL très semblables :

  • TRIM() : supprimer les caractères invisibles en début et fin de table
  • LTRIM() : supprimer les caractères invisibles au début de table uniquement
Partager