複合運算子 (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure 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,然後將原始值設為該結果。

Syntax

expression operator expression  

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

引數

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;  

另請參閱

運算子 (Transact-SQL)
位元運算子 (Transact-SQL)