Составные операторы (Transact-SQL)
Составные операторы выполняют определенные операции и задают исходной величине значение результата операции. Например, если переменная @x равна 35, то @x += 2 принимает исходное значение @x, добавляет 2 и задает переменной @x новое значение (37).
Transact-SQL поддерживает следующие составные операторы.
Оператор |
Ссылка на дополнительные сведения |
Действие |
---|---|---|
+= |
Добавляет некоторое значение к исходному значению и задает исходной величине значение результата. |
|
-= |
Вычитает определенное значение из исходного значения и задает исходной величине значение результата. |
|
*= |
Умножает исходное значение на определенное значение и задает исходной величине значение результата. |
|
/= |
Делит исходное значение на определенное значение и задает исходной величине значение результата. |
|
%= |
Делит исходное значение на определенное значение и задает исходной величине значение остатка от деления. |
|
&= |
Выполняет операцию побитового И и задает исходной величине значение результата. |
|
^= |
Выполняет операцию побитового исключающего ИЛИ и задает исходной величине значение результата. |
|
|= |
Выполняет операцию побитового исключающего И и задает исходной величине значение результата. |
Синтаксис
expression operator expression
Типы результата
Возвращает результат типа данных аргумента с более высоким приоритетом. Дополнительные сведения см. в разделе Приоритет типов данных (Transact-SQL).
Замечания
Дополнительные сведения см. в разделах, посвященных соответствующим операторам.
Примеры
В следующих примерах демонстрируется использование составных операторов.
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;