Operadores compostos (Transact-SQL)

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 a 35, então @x += 2 assumirá o valor original de @x, adicionará 2 e definirá @x para esse novo valor (37).

Transact-SQL fornece os operadores compostos a seguir:

Operator

Link para mais informações

Ação

+=

+= (Adicionar EQUALS) (Transact-SQL)

Adiciona alguma quantidade ao valor original e define o valor original como resultado.

-=

-= (Subtrair EQUALS) (Transact-SQL)

Subtrai alguma quantidade do valor original e define o valor original como resultado.

*=

* = (Multiplicar EQUALS) (Transact-SQL)

Multiplica por uma quantidade e define o valor original para o resultado.

/=

/= (Dividir EQUALS) (Transact-SQL)

Divide por uma quantidade e define o valor original para o resultado.

%=

% = (Módulo EQUALS) (Transact-SQL)

Divide por uma quantidade e define o valor original para o módulo.

&=

&= (AND EQUALS bit a bit) (Transact-SQL)

Executa um AND bit a bit e define o valor original como o resultado.

^=

^= (OR EQUALS exclusivo bit a bit) (Transact-SQL)

Executa um OR bit a bit exclusivo e define o valor original como o resultado.

|=

= (OR EQUALS bit a bit) (Transact-SQL)

Executa um OR bit a bit e define o valor original como o resultado.

Sintaxe

expression operator expression

Argumentos

  • expression
    É qualquer expressão válida de qualquer um dos tipos de dados da categoria numérica.

Tipos de resultado

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 (Transact-SQL).

Comentários

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

Exemplos

Os exemplos a seguir demonstram operações compostas.

DECLARE @x1 int = 27;
SET @x1 += 2 ;
SELECT @x1 AS Added_2;

DECLARE @x2 int = 27;
SET @x2 -= 2 ;
SELECT @x2 AS Subtracted_2;

DECLARE @x3 int = 27;
SET @x3 *= 2 ;
SELECT @x3 AS Multiplied_by_2;

DECLARE @x4 int = 27;
SET @x4 /= 2 ;
SELECT @x4 AS Divided_by_2;

DECLARE @x5 int = 27;
SET @x5 %= 2 ;
SELECT @x5 AS Modulo_of_27_divided_by_2;

DECLARE @x6 int = 9;
SET @x6 &= 13 ;
SELECT @x6 AS Bitwise_AND;

DECLARE @x7 int = 27;
SET @x7 ^= 2 ;
SELECT @x7 AS Bitwise_Exclusive_OR;

DECLARE @x8 int = 27;
SET @x8 |= 2 ;
SELECT @x8 AS Bitwise_OR;