Partager via


Opérateur de concaténation de chaînes (Moteur de base de données)

L'opérateur de concaténation de chaînes est le signe plus (+). Vous pouvez combiner, ou concaténer, deux ou plusieurs chaînes de caractères en une seule. Vous pouvez également concaténer des chaînes binaires. Voici un exemple de concaténation :

SELECT ('abc' + 'def');

Voici l'ensemble des résultats.

------

abcdef

(1 row(s) affected)

La requête suivante affiche le nom des quatre premiers contacts dans la colonne Moniker selon l'ordre nom, prénom, avec une virgule et un espace après le nom.

USE AdventureWorks2008R2;
GO
SELECT LastName + ', ' + FirstName AS Moniker 
FROM Person.Person
WHERE BusinessEntityID < 5;

Voici l'ensemble des résultats.

Moniker

-------------------------

Achong, Gustavo

Abel, Catherine

Abercrombie, Kim

Acevedo, Humberto

(4 row(s) affected)

D'autres types de données, tels que datetime et smalldatetime, doivent être convertis en chaînes de caractères à l'aide de la fonction de conversion CAST avant de pouvoir être concaténés avec une chaîne.

USE AdventureWorks2008R2;
GO
SELECT 'The due date is ' + CAST(DueDate AS varchar(128))
FROM Sales.SalesOrderHeader
WHERE SalesOrderID = 43659;
GO

Voici l'ensemble des résultats.

---------------------------------------

The due date is Jul 13 2005 12:00AM

(1 row(s) affected)

La chaîne vide ('') est interprétée comme un espace :

SELECT 'abc' + '' + 'def';

Voici l'ensemble des résultats.

-------

abcdef

(1 row(s) affected)

Notes

La valeur du degré de compatibilité de la base de données détermine si une chaîne vide est interprétée comme un seul caractère espace ou comme un caractère vide. . Pour cet exemple, si le niveau de compatibilité a la valeur 65, les littéraux vides sont traités comme un seul caractère espace.

Lorsque les chaînes d'entrée possèdent toutes deux le même classement, la chaîne de sortie possède un classement identique aux entrées. Lorsque les chaînes d'entrée possèdent des classements différents, les règles de priorité de classement déterminent le classement de la chaîne de sortie. Vous pouvez également affecter un classement spécifique à l'aide de la clause COLLATE.