Operadores compostos (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceBase 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 35igual a , então @x += 2 toma o valor original de @x, soma 2, e define @x para esse novo valor (37).

Transact-SQL fornece os seguintes operadores compostos:

Operator Link para mais informações Action
+= Atribuição de adição Adiciona algum valor ao valor original e define o valor original para o resultado.
-= Atribuição de subtração Subtrai algum valor do valor original e define o valor original para o resultado.
*= Atribuição de multiplicação Multiplica por um valor e define o valor original para o resultado.
/= Atribuição por divisão Divide por um valor e define o valor original para o resultado.
%= Atribuição de módulos Divide por um valor e define o valor original para o módulo.
&= Atribuição bit a bit AND Executa bit a AND bit e define o valor original para o resultado.
^= Atribuição exclusiva de OR bitwise Executa uma exclusividade OR bit a bit e define o valor original para o resultado.
|= Atribuição de OR bit a bit Executa bit a OR bit e define o valor original para 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 devolução

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 a 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;