Problème :
Vous souhaitez supprimer des caractères spécifiques au début et à la fin d'une chaîne.
Exemple :
Notre base de données a une table nommée post
avec des données sur deux colonnes :id
et title
.
identifiant | titre |
---|---|
1 | 'Actualités sur les chiens' |
3 | 'Eurovision 2019 ' |
4 | 'Nouveau climat politique' |
Découpons le titre de chaque message pour supprimer l'espace inutile au début et à la fin.
Solution :
Nous utiliserons le TRIM
une fonction. Voici la requête que vous écririez :
SELECT TRIM( BOTH ' ' FROM title ) as new_title FROM post;
Alternativement, vous pouvez utiliser la version plus courte sans le BOTH
mot-clé; par défaut, TRIM
traitera cela comme une opération LES DEUX.
SELECT TRIM(' ' FROM title ) as new_title FROM post;
Voici le résultat des deux requêtes :
nouveau_titre |
---|
‘Actualités sur les chiens’ |
‘Eurovision 2019’ |
« Nouveau climat politique » |
Discussion :
Utilisez le TRIM
fonction si vous voulez couper une chaîne dans une table. Cette fonction vous permet de supprimer un caractère spécifique du début ou de la fin d'une chaîne, ou des deux extrémités. Cette fonction prend les arguments suivants :
- Un mot-clé spécifiant les extrémités à partir desquelles couper (facultatif—
BOTH
par défaut). - Le caractère que vous souhaitez supprimer de la chaîne.
- Le
FROM
mot-clé, suivi du nom de la colonne de chaîne à supprimer.
Dans notre exemple, cela ressemble à :
TRIM( BOTH ' ' FROM title )
Comme mentionné ci-dessus, TRIM
peut prendre d'autres mots clés comme premier argument. En plus de couper aux deux extrémités, cela nous permet de supprimer un caractère uniquement à la fin d'une chaîne ou uniquement au début :
TRAILING
(supprimer de la fin)LEADING
(supprimer du début)
L'exemple ci-dessous supprime l'espace à la fin de chaque titre (mais pourrait tout aussi bien être utilisé pour couper l'espace au début si vous utilisez le LEADING
mot-clé à la place):
SELECT TRIM( TRAILING ' ' FROM title ) as new_title FROM post;
La requête renvoie le title
colonne sans espace à la fin. Notez que les espaces au début ne sont pas modifiés.
nouveau_titre |
---|
‘Actualités sur les chiens’ |
‘Eurovision 2019’ |
« Nouveau climat politique » |