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 |
---|---|---|
+= |
Adiciona alguma quantidade ao valor original e define o valor original como resultado. |
|
-= |
Subtrai alguma quantidade do valor original e define o valor original como resultado. |
|
*= |
Multiplica por uma quantidade e define o valor original para o resultado. |
|
/= |
Divide por uma quantidade e define o valor original para o resultado. |
|
%= |
Divide por uma quantidade e define o valor original para o módulo. |
|
&= |
Executa um AND bit a bit e define o valor original como o resultado. |
|
^= |
Executa um OR bit a bit exclusivo e define o valor original como o resultado. |
|
|= |
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;