Database
 sql >> Base de données >  >> RDS >> Database

Comment supprimer les espaces de début et/ou de fin d'une chaîne dans T-SQL

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'