CONCAT |
Concaténation |
SQL Server |
Microsoft SQL Server |
Syntaxe
CONCAT(string_value1,string_value2 [, string_valueN ])
|
Paramètres
Nom |
Description |
string_value1,string_value2 [, string_valueN ] |
Ce paramètre permet d'indiquer les chaînes de caractères à additionner. |
Description
Cette fonction permet de retourner une chaîne de caractères résultant de la concaténation, ou de la jointure, de deux ou plusieurs valeurs de chaîne de caractères de bout en bout.
Remarques
- La fonction CONCAT prend un nombre variable de paramètres de chaîne de caractères et les concatène (ou les joint) en une seule chaîne de caractères. Il nécessite un minimum de deux
valeurs d'entrée ; sinon, la fonction CONCAT générera une erreur. La fonction CONCAT convertit implicitement tous les paramètres en types chaîne de caractères avant la
concaténation. La fonction CONCAT convertit implicitement les valeurs nulles en chaînes de caractères vides. Si CONCAT reçoit des paramètre avec toutes les valeurs NULL,
il renverra une chaîne de caractères vide de type de données varchar(1). La conversion implicite en chaînes de caractères suit les règles existantes pour les conversions de types
de données.
- Le type de données de retour dépend du type des paramètres. Le tableau suivant illustre la cartographie :
Type d'entrée |
Type et longueur de sortie |
Tout paramètre d'un système SQL-CLR type un UDT SQL-CLR ou nvarchar(max) |
nvarchar(max) |
Sinon, tout paramètre de type varbinary(max) ou varchar(max) |
varchar(max), sauf si l'un des paramètres est un nvarchar de n'importe quelle longueur. Dans ce cas, la fonction CONCAT renvoie un résultat de type nvarchar(max). |
Sinon, tout paramètre de type nvarchar d'au plus 4000 caractères (nvarchar(<= 4000)) |
nvarchar(<= 4000) |
Dans tous les autres cas |
varchar(<= 8000) (un varchar d'au plus 8000 caractères) sauf si l'un des paramètres est un nvarchar de n'importe quelle longueur. Dans ce cas, CONCAT renvoie un résultat de type nvarchar(max). |
- Lorsque la fonction CONCAT reçoit des paramètres d'entrée nvarchar de longueur <= 4000 caractères, ou des paramètres d'entrée varchar de longueur <= 8000
caractères, les conversions implicites peuvent affecter la longueur du résultat. D'autres types de données ont des longueurs différentes lorsqu'ils sont implicitement convertis
en chaînes. Par exemple, un int(14) a une longueur de chaîne de caractères 12, tandis qu'un float a une longueur de 32. Par conséquent, une concaténation de deux
entiers renvoie un résultat d'une longueur d'au moins 24.
- Si aucun des paramètres d'entrée n'a de type LOB (Large Object) pris en charge, le type de retour est tronqué à 8000 caractères, quel que soit le type de retour.
Cette troncature préserve l'espace et prend en charge l'efficacité de la génération de plans.
- La fonction CONCAT peut être exécutée à distance sur un serveur lié de version SQL Server 2012 (11.x) et supérieure. Pour les serveurs liés plus anciens,
l'opération CONCAT se produira localement, une fois que le serveur lié aura renvoyé les valeurs non concaténées.
Exemple
L'exemple suivant permet de fusionner les «gladir», «.», «com» en «gladir.com» :
- SELECT CONCAT('Gladir', '.', 'com');
Dernière mise à jour : Jeudi, le 23 Septembre 2021