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

Применимо к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureБаза данных SQL в Microsoft Fabric

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

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

Operator Ссылка на дополнительные сведения Action
+= Добавление назначения Добавляет некоторое значение к исходному значению и задает исходной величине значение результата.
-= Назначение вычитания Вычитает определенное значение из исходного значения и задает исходной величине значение результата.
*= Назначение умножения Умножает исходное значение на определенное значение и задает исходной величине значение результата.
/= Назначение деления Делит исходное значение на определенное значение и задает исходной величине значение результата.
%= Назначение модуля Делит исходное значение на определенное значение и задает исходной величине значение остатка от деления.
&= Битовое назначение AND Выполняет побитовое AND значение и задает исходное значение результату.
^= Побитовое монопольное назначение OR Выполняет побитовое монопольное и OR задает исходное значение результату.
|= Побитовое НАЗНАЧЕНИЕ OR Выполняет побитовое OR значение и задает исходное значение результату.

Syntax

expression <operator> expression

Arguments

expression

Любое допустимое выражение любого из типов данных в числовой категории.

Типы возвращаемых данных

Возвращает результат типа данных аргумента с более высоким приоритетом. Дополнительные сведения см. в разделе "Приоритет типа данных".

Remarks

Дополнительные сведения см. в разделах, посвященных соответствующим операторам.

Examples

В следующих примерах демонстрируется использование составных операторов.

DECLARE @x1 AS INT = 27;
SET @x1 += 2;

SELECT @x1 AS Added_2;

DECLARE @x2 AS INT = 27;
SET @x2 -= 2;

SELECT @x2 AS Subtracted_2;

DECLARE @x3 AS INT = 27;
SET @x3 *= 2;

SELECT @x3 AS Multiplied_by_2;

DECLARE @x4 AS INT = 27;
SET @x4 /= 2;

SELECT @x4 AS Divided_by_2;

DECLARE @x5 AS INT = 27;
SET @x5 %= 2;

SELECT @x5 AS Modulo_of_27_divided_by_2;

DECLARE @x6 AS INT = 9;
SET @x6 &= 13;

SELECT @x6 AS Bitwise_AND;

DECLARE @x7 AS INT = 27;
SET @x7 ^= 2;

SELECT @x7 AS Bitwise_Exclusive_OR;

DECLARE @x8 AS INT = 27;
SET @x8 |= 2;

SELECT @x8 AS Bitwise_OR;