Dans SQL Server, vous pouvez concaténer deux ou plusieurs chaînes à l'aide de T-SQL CONCAT()
une fonction. Vous pouvez également utiliser l'opérateur de concaténation de chaînes de SQL Server (+
) pour faire la même chose. Les deux sont expliqués ici.
Dans SQL Server (et dans tout environnement de programmation informatique), la concaténation de chaînes est l'opération consistant à joindre des chaînes de caractères de bout en bout.
Voici un exemple :
SELECT CONCAT('Peter', ' ', 'Griffin') AS 'Full Name';
Résultat :
Full Name ------------- Peter Griffin
Notez que j'ai en fait concaténé 3 chaînes ici. J'ai concaténé le prénom, le nom de famille, plus un espace.
Si je n'avais pas ajouté d'espace, cela aurait ressemblé à ceci :
SELECT CONCAT('Peter', 'Griffin') AS 'Full Name';
Résultat :
Full Name ------------ PeterGriffin
Ce qui peut ou non être le résultat que vous recherchez.
Donc, si nous appliquons ceci à une base de données, la requête pourrait ressembler à ceci :
SELECT CONCAT(FirstName, ' ', LastName) AS 'Full Name' FROM Individuals WHERE IndividualId = '1';
Résultat :
Full Name ------------- Peter Griffin
Si vous concaténez plus de deux chaînes et que vous avez besoin d'un espace (ou d'un autre séparateur), envisagez d'utiliser le CONCAT_WS()
une fonction. Cela vous permet de spécifier un séparateur à utiliser entre chaque chaîne. Vous n'avez besoin de spécifier le séparateur qu'une seule fois, et il est utilisé sur chaque chaîne concaténée, ce qui vous évite d'avoir à le retaper entre chaque chaîne.
Arguments NULL
Si vous connaissez MySQL, vous savez peut-être qu'il possède également un CONCAT()
une fonction. Cependant, une différence entre CONCAT()
de SQL Server fonction et CONCAT()
de MySQL la fonction est la façon dont ils gèrent NULL
arguments.
Dans MySQL, le CONCAT()
la fonction renvoie NULL
si un argument est NULL
. Dans SQL Server, vous pouvez toutefois ajouter un NULL
argument sans qu'il en résulte un NULL
résultat.
MySQL
Voici ce que fait MySQL :
SELECT CONCAT('Homer', NULL, 'Simpson') AS 'Full Name';
Résultat :
+-----------+ | Full Name | +-----------+ | NULL | +-----------+
SQL Server
Voici ce que fait SQL Server :
SELECT CONCAT('Peter', NULL, 'Griffin') AS 'Full Name';
Résultat :
Full Name ------------ PeterGriffin
Une autre façon de concaténer :l'opérateur de concaténation de chaînes (+
)
SQL Server fournit un autre moyen de concaténer des chaînes. Vous pouvez utiliser le +
opérateur de concaténation de chaînes.
SELECT 'Peter' + ' ' + 'Griffin' AS 'Full Name';
Résultat :
Full Name ------------- Peter Griffin