Problème :
Vous souhaitez supprimer un espace ou un caractère spécifique au début et à la fin d'une chaîne.
Exemple :
Notre base de données a une table nommée company
avec des données sur deux colonnes :id
et name
.
identifiant | nom |
---|---|
1 | 'Super Marché' |
2 | 'Boutique verte' |
3 | 'Librairie Moderne' |
Découpons le nom de chaque entreprise 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(' ' FROM name) AS new_name FROM company;
Alternativement, vous pouvez utiliser la version plus courte sans le FROM
mot-clé et espace comme caractères à supprimer ; par défaut, TRIM
traitera cela comme la suppression des espaces d'une chaîne stockée dans une colonne ou une expression donnée dans l'argument de la fonction TRIM.
SELECT TRIM(name) AS new_name FROM company;
Voici le résultat des deux requêtes :
nouveau_nom |
---|
'Supermarché' |
'Boutique verte' |
'Librairie Moderne' |
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 et de la fin d'une chaîne. Cette fonction prend les arguments suivants :
- Le caractère que vous souhaitez supprimer de la chaîne, par défaut c'est un espace..
- Le
FROM
mot-clé, suivi du nom de la colonne de chaîne à supprimer.
Dans notre exemple, cela ressemble à :
TRIM(' ' FROM name)
T-SQL permet également de supprimer l'espace d'un autre caractère uniquement depuis le début ou uniquement depuis la fin d'une chaîne.
L'exemple ci-dessous supprime l'espace à la fin de chaque société en utilisant la fonction RTRIM().
SELECT RTRIM(name) AS new_name FROM company;
nouveau_nom |
---|
'Supermarché' |
'Boutique verte' |
'Librairie Moderne' |
Mais pourrait tout aussi bien être utilisé pour couper l'espace au début si vous utilisez le LTRIM
fonction à la place :
SELECT LTRIM(name) AS new_name FROM company;
La requête renvoie le name
colonne sans espace à la fin. Notez que les espaces au début sont laissés intacts.
nouveau_nom |
---|
'Supermarché' |
'Boutique verte' |
'Librairie Moderne' |