Dans SQL Server, le TRIM()
La fonction est couramment utilisée pour supprimer les espaces de début et de fin d'une chaîne. Mais saviez-vous que vous pouvez également supprimer d'autres caractères au début/à la fin d'une chaîne ? Il n'est pas nécessaire que ce soit un espace blanc.
TRIM()
est une fonction T-SQL qui supprime spécifiquement le caractère d'espacement char(32)
ou d'autres caractères spécifiés depuis le début ou la fin d'une chaîne.
Syntaxe
La syntaxe ressemble à ceci :
TRIM ( [ characters FROM ] string )
La string
argument est un argument obligatoire - c'est la chaîne réelle à couper.
Les characters FROM
est un argument facultatif est le bit qui vous permet de spécifier quels caractères doivent être supprimés (en supposant que vous ne supprimez pas simplement le caractère espace). Si vous ne spécifiez pas quels caractères, le caractère d'espacement sera coupé.
Exemple
Voici un exemple de base de découpage des signes d'égalité de début et de fin (=
) à partir d'une chaîne :
SELECT TRIM('=' FROM '=SPECIALS=') AS Result;
Résultat
Result -------- SPECIALS
Plusieurs instances d'un personnage
Il supprime également plusieurs instances du caractère spécifié.
Exemple :
SELECT TRIM('=' FROM '===SPECIALS===') AS Result;
Résultat :
Result -------- SPECIALS
Rogner plusieurs caractères
Il vous permet également de découper plusieurs caractères.
Exemple :
SELECT TRIM('!*=+?' FROM '=+=*!SPECIALS?=+=') AS Result;
Résultat :
Result -------- SPECIALS
Espace blanc intégré
Si un espace blanc existe à l'intérieur du ou des caractères coupés, ne vous attendez pas à ce que cet espace blanc soit coupé (sauf si vous spécifiez également explicitement le caractère espace comme l'un des caractères à couper).
Voici ce que je veux dire :
SELECT TRIM('=' FROM '= SPECIALS =') AS Result;
Résultat :
Result -------------- SPECIALS
Dans ce cas, le signe égal est coupé mais l'espace blanc reste. C'est parce que l'espace blanc n'est pas immédiatement à gauche et/ou à droite de la chaîne.
Si nous voulons supprimer à la fois le signe égal et l'espace blanc, on peut simplement ajouter un caractère espace à la liste des caractères à rogner :
SELECT TRIM('=' FROM '= SPECIALS =') AS Result;
Résultat :
Result -------- SPECIALS
Personnages entourés d'espaces blancs
Comme dans l'exemple précédent, vous ne pouvez pas vous attendre à ce que SQL Server supprime le caractère spécifié s'il y a un espace entre celui-ci et le début/la fin de la chaîne.
Par exemple :
SELECT TRIM('=' FROM ' =SPECIALS= ') AS Result;
Résultat :
Result ---------------- =SPECIALS=
Dans cet exemple, rien n'a été coupé. C'est parce qu'il y a un espace blanc entre les signes égal et le début/la fin de la chaîne.
Dans ce cas, vous pouvez simplement ajouter le caractère espace comme l'un des caractères à rogner :
SELECT TRIM('= ' FROM ' =SPECIALS= ') AS Result;
Résultat :
Result -------- SPECIALS
Pour plus d'exemples d'utilisation de TRIM()
pour supprimer les espaces blancs à gauche et à droite d'une chaîne, consultez Comment supprimer les espaces blancs de début et de fin dans SQL Server.