Поделиться через


Составные операторы (Transact-SQL)

Составные операторы выполняют определенные операции и задают исходной величине значение результата операции. Например, если переменная @x равна 35, то @x += 2 принимает исходное значение @x, добавляет 2 и задает переменной @x новое значение (37).

Transact-SQL поддерживает следующие составные операторы.

Оператор

Ссылка на дополнительные сведения

Действие

+=

+= (РАВНО со сложением) (Transact-SQL)

Добавляет некоторое значение к исходному значению и задает исходной величине значение результата.

-=

-= (ВЫЧЕСТЬ РАВНО) (Transact-SQL)

Вычитает определенное значение из исходного значения и задает исходной величине значение результата.

*=

*= (РАВНО с умножением) (Transact-SQL)

Умножает исходное значение на определенное значение и задает исходной величине значение результата.

/=

/= (РАЗДЕЛИТЬ РАВНО) (Transact-SQL)

Делит исходное значение на определенное значение и задает исходной величине значение результата.

%=

%= (РАВНО с остатком от деления) (Transact-SQL)

Делит исходное значение на определенное значение и задает исходной величине значение остатка от деления.

&=

&= (побитовое И РАВНО) (Transact-SQL)

Выполняет операцию побитового И и задает исходной величине значение результата.

^=

^= (побитовое исключающее ИЛИ РАВНО) (Transact-SQL)

Выполняет операцию побитового исключающего ИЛИ и задает исходной величине значение результата.

|=

|= (РАВНО с побитовым ИЛИ) (Transact-SQL)

Выполняет операцию побитового исключающего И и задает исходной величине значение результата.

Синтаксис

expression operator expression

Аргументы

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