複合運算子 (Transact-SQL)

複合運算子會執行某項作業,然後將原始值設定為該作業的結果。例如,如果變數 @x 等於 35,則 @x += 2 會用 @x 的原始值加上 2,然後將 @x 設定為該新値 (37)。

Transact-SQL 會提供下列的複合運算子:

運算子

詳細資訊連結

動作

+=

+= (加 EQUALS) (Transact-SQL)

將原始值加上某數,然後將原始值設為該結果。

-=

-= (減 EQUALS) (Transact-SQL)

從原始值減去某數,然後將原始值設為該結果。

*=

*= (乘法 EQUALS) (Transact-SQL)

乘以某數,然後將原始值設為該結果。

/=

/= (除 EQUALS) (Transact-SQL)

除以某數,然後將原始值設為該結果。

%=

%= (模數 EQUALS) (Transact-SQL)

除以某數,然後將原始值設為該模數。

&=

&= (位元 AND EQUALS) (Transact-SQL)

執行位元運算 AND,然後將原始值設為該結果。

^=

^= (位元互斥 OR EQUALS) (Transact-SQL)

執行位元排除 OR,然後將原始值設為該結果。

|=

|= (位元 OR EQUALS) (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;