複合演算子 (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

複合演算子では、いくつかの演算を実行し、元の値に演算の結果を設定します。 たとえば、変数 @x が 35 である場合、@x += 2 は @x の元の値を取得し、2 を加算して、@x にその新しい値 (37) を設定します。

Transact-SQL には、次の複合演算子があります。

演算子 詳細情報へのリンク 操作
+= += (加算代入) (Transact-SQL) いくつかの数値を元の値に加算し、元の値に結果を設定します。
-= -= (減算代入) (Transact-SQL) いくつかの数値を元の値から減算し、元の値に結果を設定します。
*= *= (乗算代入) (Transact-SQL) 1 つの数値で乗算し、元の値に結果を設定します。
/= (除算代入) (Transact-SQL) 1 つの数値で除算し、元の値に結果を設定します。
%= 剰余代入 (Transact-SQL) 1 つの数値で除算し、元の値に剰余を設定します。
&= &= (ビットごとの AND 代入) (Transact-SQL) ビットごとの AND 演算を実行し、元の値に結果を設定します。
^= ^= (ビットごとの排他的 OR 代入) (Transact-SQL) ビットごとの排他的 OR 演算を実行し、元の値に結果を設定します。
|= |= (ビットごとの OR 代入) (Transact-SQL) ビットごとの OR 演算を実行し、元の値に結果を設定します。

構文

expression operator expression  

Note

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)