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

Comment concaténer des chaînes dans SQL Server avec CONCAT()

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