Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2025 (17.x)
Banco de Dados
SQL do AzureBanco de DadosSQL do Azure Banco de Dados SQL banco de dados SQL do Banco de Dados SQL do Azure
banco de dados SQL no Microsoft Fabric
A ||= concatenação com operador de atribuição composto pode ser usada para concatenar uma expressão com o valor de um caractere ou variável de cadeia de caracteres binária e, em seguida, atribuir a expressão resultante à variável.
O ||= operador dá suporte ao mesmo comportamento que o operador += para caracteres e cadeias de caracteres binárias.
Convenções de sintaxe de Transact-SQL
Syntax
variable ||= expression
Arguments
variable
Uma variável T-SQL do tipo de caractere: char, varchar, nchar, nvarchar, varchar(max) ou nvarchar(max), ou do tipo binário: binary 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 deverá ser capaz de ser convertido implicitamente em uma cadeia de caracteres.
Tipos de retorno
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 LOB (objeto grande) (varchar(max) ou nvarchar(max)), a expressão resultante será de varchar(max) ou nvarchar(max).
- Se a variável for de um tipo LOB varbinary(max), a expressão resultante será de varbinary(max).
- Se a variável não for um tipo LOB, o resultado será truncado para 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 caractere deve ser usada ao concatenar cadeias binárias e quaisquer caracteres entre as cadeias binárias.
O ||= operador pipes está disponível na Instância Gerenciada de SQL do Azure com a política de atualização do SQL 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 maneira diferente quando trabalha com uma cadeia de caracteres vazia de comprimento zero do que quando trabalha com NULLvalores desconhecidos ou desconhecidos. Uma cadeia de caracteres de comprimento zero pode ser especificada como duas aspas simples sem nenhum caractere dentro das aspas. Uma cadeia de caracteres binária de comprimento zero pode ser especificada como 0x sem nenhum valor de byte especificado 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
Assim como acontece com as operações aritméticas executadas em NULL valores, quando um NULL valor é adicionado a um valor conhecido, o resultado normalmente é um NULL valor. Uma operação de concatenação de cadeia de caracteres executada com um NULL valor também deve produzir um NULL resultado.
O ||= operador não honra a SET CONCAT_NULL_YIELDS_NULL opção e sempre se comporta como se o comportamento ANSI SQL estivesse habilitado, produzindo NULL se qualquer uma das entradas for NULL. Essa é a principal diferença de comportamento entre os += operadores de concatenação e ||= . Para saber mais, confira 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
Veja a seguir 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;
Veja a seguir o conjunto de resultados.
0x1A2B
Conteúdo relacionado
- || (Concatenação de strings) (Transact-SQL)
- + (Concatenação de cadeia de caracteres) (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 internas (Transact-SQL)
- Operadores (Transact-SQL)
- SELECT (Transact-SQL)
- Instruções SET (Transact-SQL)