Compound Operators (Transact-SQL)
Compound operators execute some operation and set an original value to the result of the operation. For example, if a variable @x equals 35, then @x += 2 takes the original value of @x, add 2 and sets @x to that new value (37).
Transact-SQL provides the following compound operators:
|
Operator |
Link to more information |
Action |
|---|---|---|
|
+= |
Adds some amount to the original value and sets the original value to the result. |
|
|
-= |
Subtracts some amount from the original value and sets the original value to the result. |
|
|
*= |
Multiplies by an amount and sets the original value to the result. |
|
|
/= |
Divides by an amount and sets the original value to the result. |
|
|
%= |
Divides by an amount and sets the original value to the modulo. |
|
|
&= |
Performs a bitwise AND and sets the original value to the result. |
|
|
^= |
Performs a bitwise exclusive OR and sets the original value to the result. |
|
|
|= |
Performs a bitwise OR and sets the original value to the result. |
Returns the data type of the argument with the higher precedence. For more information, see Data Type Precedence (Transact-SQL).
The following examples demonstrate compound operations.
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;