适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Microsoft Fabric 中的 SQL 数据库
复合运算符执行一些运算并将原始值设置为运算的结果。 例如,如果变量 @x 相等 35,则 @x += 2 采用原始值 @x、添加 2值和设置为 @x 该新值(37)。
Transact-SQL 提供了以下复合运算符:
| Operator | 详细信息链接 | Action |
|---|---|---|
| += | 加法分配 | 将原始值加上一定的量,并将原始值设置为结果。 |
| -= | 减法赋值 | 将原始值减去一定的量,并将原始值设置为结果。 |
| *= | 乘法赋值 | 将原始值乘上一定的量,并将原始值设置为结果。 |
| /= | 部门分配 | 将原始值除以一定的量,并将原始值设置为结果。 |
| %= | 模量分配 | 将原始值除以一定的量,并将原始值设置为余数。 |
| &= | 按位和分配 | 按位 AND 执行并将原始值设置为结果。 |
| ^= | 按位排他或分配 | 执行按位排他 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;