Összetett operátorok (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Az összetett operátorok végrehajtanak egy műveletet, és beállítanak egy eredeti értéket a művelet eredményére. Ha például egy változó @x egyenlő, akkor @x += 2 az eredeti értéket @xveszi fel, hozzáadja 2és beállítja @x az új értéket (3735).

Transact-SQL a következő összetett operátorokat biztosítja:

Operator További információkra mutató hivatkozás Action
+= Hozzáadási hozzárendelés Hozzáad egy kis összeget az eredeti értékhez, és beállítja az eredeti értéket az eredményhez.
-= Kivonási hozzárendelés Kivon egy bizonyos összeget az eredeti értékből, és az eredeti értéket az eredményre állítja.
*= Szorzás-hozzárendelés Megszorozza egy összeggel, és az eredeti értéket az eredményre állítja.
/= Osztás hozzárendelése Összeggel osztja el, és az eredeti értéket az eredményre állítja.
%= Modulus-hozzárendelés Egy összeggel osztja el, és az eredeti értéket a modulóra állítja.
&= Bitenkénti ÉS hozzárendelés Bitenkénti AND műveletet hajt végre, és az eredeti értéket az eredményre állítja.
^= Bitenkénti kizárólagos VAGY hozzárendelés Bitenkénti kizárólagos OR műveletet hajt végre, és az eredeti értéket az eredményre állítja.
|= Bitenkénti VAGY hozzárendelés Bitenkénti OR műveletet hajt végre, és az eredeti értéket az eredményre állítja.

Syntax

expression <operator> expression

Arguments

expression

A numerikus kategória bármelyik adattípusának érvényes kifejezése .

Visszatérési típusok

Az argumentum adattípusát adja vissza a magasabb előzményekkel. További információ: Adattípus elsőbbsége.

Remarks

További információkért tekintse meg az egyes operátorokkal kapcsolatos témaköröket.

Examples

Az alábbi példák összetett műveleteket mutatnak be.

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;