TRIM (Transact-SQL)

S’applique à : point de terminaison d’analytique SQL Server 2017 (14.x) et ultérieur Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics SQL Analytics dans Microsoft Fabric Warehouse

Supprime le caractère espace char(32) ou d’autres caractères spécifiés du début, de la fin ou des deux extrémités d’une chaîne.

Supprime éventuellement le caractère espace char(32) ou d’autres caractères spécifiés au début, à la fin ou des deux côtés d’une chaîne.

À compter de SQL Server 2022 (16.x), supprimez éventuellement le caractère espace char(32) ou les autres caractères spécifiés du début, de la fin ou des deux extrémités d’une chaîne.

Conventions de la syntaxe Transact-SQL

Syntaxe

Syntaxe pour SQL Server 2022 (16.x) et versions antérieures, Azure SQL Database et Azure Synapse Analytics :

TRIM ( [ characters FROM ] string )

Syntaxe pour SQL Server 2022 (16.x) et versions ultérieures, Azure SQL Managed Instance et Microsoft Fabric :

Important

Vous avez besoin que le niveau de compatibilité de votre base de données soit défini sur 160 pour pouvoir utiliser les mots clés LEADING, TRAILING ou BOTH.

TRIM ( [ LEADING | TRAILING | BOTH ] [characters FROM ] string )

Arguments

[ LEADING | TRAILING | BOTH ]

S’applique à : SQL Server 2022 (16.x) et versions ultérieures, Azure SQL Managed Instance et Microsoft Fabric :

Le premier argument facultatif spécifie le côté de la chaîne à couper :

  • LEADING supprime les caractères spécifiés au début d’une chaîne.

  • TRAILING supprime les caractères spécifiés à la fin d’une chaîne.

  • BOTH (comportement positionnel par défaut) supprime les caractères spécifiés à partir des deux extrémités d’une chaîne.

caractères

Un littéral, une variable ou un appel de fonction de tout type de caractère non LOB (nvarchar, varchar, nchar ou char) contenant des caractères à supprimer. Les types nvarchar(max) et varchar(max) ne sont pas autorisés.

string

Une expression de n’importe quel type de caractère (nvarchar, varchar, nchar ou char) où les caractères doivent être supprimés.

Types de retour

Renvoie une expression de caractères avec un type d’argument de chaîne dans laquelle le caractère espace char(32) ou d’autres caractères spécifiés sont supprimés des deux côtés. Renvoie NULL si la chaîne d’entrée est NULL.

Remarques

Par défaut, la fonction TRIM supprime le caractère d’espacement aux deux extrémités de la chaîne. Ce comportement est équivalent à LTRIM(RTRIM(@string)).

Pour activer les arguments positionnels facultatifs LEADING, TRAILING ou BOTH dans SQL Server 2022 (16.x), vous devez activer le niveau de compatibilité de base de données 160 sur la base de données auxquelle vous vous connectez lors de l’exécution de requêtes.

  • Avec l’argument positionnel facultatif LEADING, le comportement équivaut à LTRIM(@string, characters).
  • Avec l’argument positionnel facultatif TRAILING, le comportement équivaut à RTRIM(@string, characters).

Exemples

R. Supprimer le caractère espace des deux côtés de la chaîne

L’exemple suivant supprime les espaces avant et après le mot test.

SELECT TRIM( '     test    ') AS Result;

Voici le jeu de résultats.

test

B. Supprimer les caractères spécifiés des deux côtés de la chaîne

L’exemple suivant fournit une liste de caractères possibles à supprimer d’une chaîne.

SELECT TRIM( '.,! ' FROM '     #     test    .') AS Result;

Voici le jeu de résultats.

#     test

Dans cet exemple, seuls le point et les espaces situés avant # et après le mot test ont été supprimés. Les autres caractères ont été ignorés parce qu’ils n’existaient pas dans la chaîne.

C. Supprimer les caractères spécifiés du début d’une chaîne de caractères

Important

Vous avez besoin que le niveau de compatibilité de votre base de données soit défini sur 160 pour pouvoir utiliser les mots clés LEADING, TRAILING ou BOTH.

L’exemple suivant supprime le . en début de chaîne avant le mot test.

SELECT TRIM(LEADING '.,! ' FROM  '     .#     test    .') AS Result;

Voici le jeu de résultats.

# test .

D. Supprimer les caractères spécifiés de la fin d’une chaîne de caractères

Important

Vous avez besoin que le niveau de compatibilité de votre base de données soit défini sur 160 pour pouvoir utiliser les mots clés LEADING, TRAILING ou BOTH.

L’exemple suivant supprime le . en fin de chaîne après le mot test.

SELECT TRIM(TRAILING '.,! ' FROM '     .#     test    .') AS Result;

Voici le jeu de résultats.

.#     test

E. Supprimer les caractères spécifiés du début et de la fin d’une chaîne

Important

Vous avez besoin que le niveau de compatibilité de votre base de données soit défini sur 160 pour pouvoir utiliser les mots clés LEADING, TRAILING ou BOTH.

L’exemple suivant supprime les caractères 123 du début et de la fin de la chaîne 123abc123.

SELECT TRIM(BOTH '123' FROM '123abc123') AS Result;

Voici le jeu de résultats.

abc