Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à : Base de données SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
SQL dans Microsoft Fabric
La ||= concaténation avec l’opérateur d’assignation composée peut être utilisée pour concaténer une expression avec la valeur d’une variable de chaîne binaire ou de caractère, puis affecter l’expression résultante à la variable.
L’opérateur ||= prend en charge le même comportement que l’opérateur += pour les chaînes caractères et binaires.
Conventions de la syntaxe Transact-SQL
Syntax
variable ||= expression
Arguments
variable
Variable T-SQL de type caractère : char, varchar, nchar, nvarchar, varchar(max), ou nvarchar(max), ou de type binaire : binaire ou varbinary ou varbinary(max).
expression
Expression de caractère ou binaire. Si l’expression n’est pas du type caractère, le type de l’expression doit être converti implicitement en chaîne de caractères.
Types de retour
Affecte le résultat de l’opérateur de concaténation pour les chaînes de caractères à la variable.
- Si la variable ou l’expression est une valeur SQL
NULL, le résultat de l’expression concaténée estNULL. - Si la variable est d’un type de données objet volumineux (LOB) (varchar(max) ou nvarchar(max)), l’expression résultante est varchar (max) ou nvarchar(max).
- Si la variable est d’un type LOB varbinary(max), l’expression résultante est varbinary (max).
- Si la variable n’est pas un type métier, le résultat est tronqué à la longueur maximale du type déclaré de la variable.
Remarks
Si le résultat de la concaténation de chaînes dépasse la limite des 8 000 octets, il sera tronqué. Toutefois, si au moins une des chaînes concaténées est un type de valeur volumineux, la troncation ne se produit pas.
Pour concaténer des chaînes binaires et tout caractère compris entre ces chaînes, il faut utiliser une conversion explicite en données de type caractère.
L’opérateur ||= de canaux est disponible dans Azure SQL Managed Instance avec la stratégie de mise à joursql Server 2025 ou Always-up-to-date.
Chaînes et caractères de longueur zéro
L’opérateur ||= (concaténation de chaîne) se comporte différemment lorsqu’il fonctionne avec une chaîne vide et de longueur nulle que lorsqu’il fonctionne avec NULLdes valeurs inconnues ou avec des valeurs inconnues. Une chaîne de caractères de longueur nulle peut être spécifiée par deux guillemets simples sans caractères à l'intérieur. Une chaîne binaire de longueur nulle peut être spécifiée comme 0x sans aucune valeur d’octet spécifiée dans la constante hexadécimale. La concaténation d'une chaîne de longueur nulle concatène toujours deux chaînes spécifiées.
Concaténation des valeurs NULL
Comme pour les opérations arithmétiques effectuées sur NULL les valeurs, lorsqu’une NULL valeur est ajoutée à une valeur connue, le résultat est généralement une NULL valeur. Une opération de concaténation de chaîne effectuée avec une NULL valeur doit également produire un NULL résultat.
L’opérateur ||= ne respecte pas l’option SET CONCAT_NULL_YIELDS_NULL et se comporte toujours comme si le comportement ANSI SQL est activé, ce qui NULL génère si l’une des entrées est NULL. Il s’agit de la principale différence de comportement entre les += opérateurs de ||= concaténation. Pour plus d’informations, voir SET CONCAT_NULL_YIELDS_NULL.
Examples
A. Utiliser la concaténation avec l’affectation composée pour les chaînes
DECLARE @v1 varchar(10) = 'a'
SET @v1 ||= 'b';
SELECT @v1
Voici le jeu de résultats.
ab
B. Utiliser la concaténation avec l’affectation composée pour les données binaires
DECLARE @v2 varbinary(10) = 0x1a;
SET @v2 ||= 0x2b;
select @v2;
Voici le jeu de résultats.
0x1A2B
Contenu connexe
- || (Concaténation de chaînes) (Transact-SQL)
- + (concaténation de chaînes) (Transact-SQL)
- += (Affectation après concaténation de chaînes) (Transact-SQL)
- MODIFIER LA BASE DE DONNÉES (Transact-SQL)
- CAST et CONVERT (Transact-SQL)
- Conversion de types de données (Moteur de base de données)
- Types de données (Transact-SQL)
- Expressions (Transact-SQL)
- Fonctions intégrées (Transact-SQL)
- Opérateurs (Transact-SQL)
- SELECT (Transact-SQL)
- Instructions SET (Transact-SQL)