複合運算子 (Transact-SQL)
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體
複合運算子會執行某項作業,然後將原始值設定為該作業的結果。 例如,如果變數 @x 等於 35,則 @x += 2 會用 @x 的原始值加上 2,然後將 @x 設定為該新值 (37)。
Transact-SQL 會提供下列複合運算子:
運算子 | 詳細資訊連結 | 動作 |
---|---|---|
+= | += (加法賦值) (Transact-SQL) | 將原始值加上某數,然後將原始值設為該結果。 |
-= | -= (減法賦值) (Transact-SQL) | 從原始值減去某數,然後將原始值設為該結果。 |
*= | *= (乘法賦值) (Transact-SQL) | 乘以某數,然後將原始值設為該結果。 |
/= | (除法賦值) (Transact-SQL) | 除以某數,然後將原始值設為該結果。 |
%= | 模數賦值 (Transact-SQL) | 除以某數,然後將原始值設為該模數。 |
&= | &= (位 AND 指派) (Transact-SQL) | 執行位元運算 AND,然後將原始值設為該結果。 |
^= | ^= (位元排除 OR 指派) (Transact-SQL) | 執行位元排除 OR,然後將原始值設為該結果。 |
|= | |= (位元 OR 指派) (Transact-SQL) | 執行位元運算 OR,然後將原始值設為該結果。 |
語法
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;