Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2025 (17.x)
Azure SQL Database
AzureSQL Managed Instance
SQL database in Microsoft Fabric
A ||= concatenação com o operador de atribuição composta pode ser usada para concatenar uma expressão com o valor de um caractere ou variável de cadeia binária e, em seguida, atribuir a expressão resultante à variável.
O ||= operador suporta o mesmo comportamento que o operador += para caracteres e cadeias binárias.
Transact-SQL convenções de sintaxe
Syntax
variable ||= expression
Arguments
variable
Uma variável T-SQL do tipo caracteres: char, varchar, nchar, nvarchar, varchar(max) ou nvarchar(max), ou do tipo binário: binário ou varbinary ou varbinary(max).
expression
Um caractere ou expressão binária. Se a expressão não for do tipo de caractere, o tipo da expressão deve poder ser convertido implicitamente em uma cadeia de caracteres.
Tipos de devolução
Atribui o resultado do operador de concatenação para cadeias de caracteres à variável.
- Se a variável ou expressão for um valor SQL
NULL, o resultado da expressão concatenada seráNULL. - Se a variável for de um tipo de dados de objeto grande (LOB) (varchar(max) ou nvarchar(max)), então a expressão resultante será de varchar(max) ou nvarchar(max).
- Se a variável é de um tipo LOB varbinary(max), então a expressão resultante é de varbinary(max).
- Se a variável não for um tipo LOB, o resultado será truncado até o comprimento máximo do tipo declarado da variável.
Remarks
Se o resultado da concatenação de cadeias de caracteres exceder o limite de 8.000 bytes, o resultado será truncado. No entanto, se pelo menos uma das cadeias de caracteres concatenadas for um tipo de valor grande, o truncamento não ocorrerá.
Uma conversão explícita em dados de caracteres deve ser usada ao concatenar cadeias binárias e quaisquer caracteres entre as cadeias binárias.
O ||= operador de pipes está disponível na Instância Gerenciada SQL do Azure com a política de atualizaçãoSQL Server 2025 ou Always-up-to-date.
Cadeias de caracteres e caracteres de comprimento zero
O operador ||= (concatenação de cadeia de caracteres) se comporta de forma diferente quando trabalha com uma cadeia de caracteres vazia de comprimento zero do que quando trabalha com valores NULLou desconhecidos. Uma cadeia de caracteres de comprimento zero pode ser especificada como duas aspas simples sem nenhum caractere dentro das aspas. Uma cadeia binária de comprimento zero pode ser especificada como 0x sem quaisquer valores de byte especificados na constante hexadecimal. A concatenação de uma cadeia de caracteres de comprimento zero sempre concatena as duas cadeias de caracteres especificadas.
Concatenação de valores NULL
Tal como acontece com as operações aritméticas que são executadas em valores NULL, quando um valor NULL é adicionado a um valor conhecido, o resultado é normalmente um valor NULL. Uma operação de concatenação de cadeia de caracteres executada com um valor NULL também deve produzir um resultado NULL.
O operador ||= não honra a opção SET CONCAT_NULL_YIELDS_NULL e sempre se comporta como se o comportamento ANSI SQL estivesse habilitado, produzindo NULL se alguma das entradas estiver NULL. Esta é a principal diferença de comportamento entre os operadores += e ||= concatenação. Para obter mais informações, consulte SET CONCAT_NULL_YIELDS_NULL.
Examples
A. Usar concatenação com atribuição composta para cadeias de caracteres
DECLARE @v1 varchar(10) = 'a'
SET @v1 ||= 'b';
SELECT @v1
Aqui está o conjunto de resultados.
ab
B. Usar concatenação com atribuição composta para dados binários
DECLARE @v2 varbinary(10) = 0x1a;
SET @v2 ||= 0x2b;
select @v2;
Aqui está o conjunto de resultados.
0x1A2B
Conteúdo relacionado
- || (Concatenação de cordas) (Transact-SQL)
- + (concatenação de cordas) (Transact-SQL)
- += (Atribuição de concatenação de cadeia de caracteres) (Transact-SQL)
- ALTERAR BASE DE DADOS (Transact-SQL)
- CAST e CONVERT (Transact-SQL)
- Conversão de tipo de dados (Mecanismo de Banco de Dados)
- Tipos de dados (Transact-SQL)
- Expressões (Transact-SQL)
- Funções incorporadas (Transact-SQL)
- Operadores (Transact-SQL)
- SELECIONAR (Transact-SQL)
- Instruções SET (Transact-SQL)