Operadores compostos (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureBanco de dados SQL no Microsoft Fabric

Os operadores compostos executam alguma operação e definem um valor original para o resultado da operação. Por exemplo, se uma variável @x for igual 35, então @x += 2 usará o valor original de @x, adicionará 2e definirá @x esse novo valor (37).

O Transact-SQL fornece os seguintes operadores compostos:

Operator Link para mais informações Action
+= Atribuição de adição Adiciona alguma quantidade ao valor original e define o valor original como resultado.
-= Atribuição de subtração Subtrai alguma quantidade do valor original e define o valor original como resultado.
*= Atribuição de multiplicação Multiplica por uma quantidade e define o valor original para o resultado.
/= Atribuição de divisão Divide por uma quantidade e define o valor original para o resultado.
%= Atribuição de módulo Divide por uma quantidade e define o valor original para o módulo.
&= Atribuição AND bit a bit Executa um bit a bit AND e define o valor original como o resultado.
^= Atribuição OR exclusiva bit a bit Executa um exclusivo OR bit a bit e define o valor original como o resultado.
|= Atribuição OR bit a bit Executa um bit a bit OR e define o valor original como o resultado.

Syntax

expression <operator> expression

Arguments

expression

Qualquer expressão válida de qualquer um dos tipos de dados na categoria numérica.

Tipos de retorno

Retorna o tipo de dados do argumento com a precedência mais alta. Para obter mais informações, consulte Precedência de tipo de dados.

Remarks

Para obter mais informações, consulte os tópicos relacionados com cada operador.

Examples

Os exemplos a seguir demonstram operações compostas.

DECLARE @x1 AS INT = 27;
SET @x1 += 2;

SELECT @x1 AS Added_2;

DECLARE @x2 AS INT = 27;
SET @x2 -= 2;

SELECT @x2 AS Subtracted_2;

DECLARE @x3 AS INT = 27;
SET @x3 *= 2;

SELECT @x3 AS Multiplied_by_2;

DECLARE @x4 AS INT = 27;
SET @x4 /= 2;

SELECT @x4 AS Divided_by_2;

DECLARE @x5 AS INT = 27;
SET @x5 %= 2;

SELECT @x5 AS Modulo_of_27_divided_by_2;

DECLARE @x6 AS INT = 9;
SET @x6 &= 13;

SELECT @x6 AS Bitwise_AND;

DECLARE @x7 AS INT = 27;
SET @x7 ^= 2;

SELECT @x7 AS Bitwise_Exclusive_OR;

DECLARE @x8 AS INT = 27;
SET @x8 |= 2;

SELECT @x8 AS Bitwise_OR;