Megosztás a következőn keresztül:


^ (Bitwise exkluzív OR) (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)SQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

Bitenkénti kizárólagos VAGY műveletet hajt végre két egész érték között.

Transact-SQL szintaxis konvenciók

Syntax

expression ^ expression  

Arguments

expression
Az egész szám adattípus kategóriájának vagy bitjének, illetve a bináris vagy varbináris adattípusok bármelyikének érvényes kifejezése. a bitenkénti művelet bináris számként kezeli.

Note

Egy bitenkénti műveletben csak egy kifejezés lehet bináris vagy varbináris adattípusú.

Eredménytípusok

int , ha a bemeneti értékek int.

kicsi, ha a bemeneti értékek kicsik.

tinyint , ha a bemeneti értékek aprók.

Remarks

A ^ bitenkénti operátor bitenkénti logikai kizárólagos vagy a két kifejezés között végez el egy bitenkénti logikai kizárólagos műveletet, amely mindkét kifejezés mindegyik megfelelő bitjének figyelembevételével történik. Az eredmény bitjei 1 értékre vannak állítva, ha a bemeneti kifejezések egyik (de nem mindkét) bitje (az aktuális bit feloldása esetén) értéke 1. Ha mindkét bit 0, vagy mindkét bit 1, akkor az eredményben szereplő bit 0 értékre lesz törölve.

Ha a bal és a jobb oldali kifejezés különböző egész adattípusokkal rendelkezik (például a bal oldali kifejezéskicsi , a jobb oldali kifejezéspedig int), a kisebb adattípus argumentuma nagyobb adattípussá lesz konvertálva. Ebben az esetben a kisbetűskifejezésintgé alakul át.

Examples

Az alábbi példa egy táblázatot hoz létre az int adattípussal az eredeti értékek tárolásához, és két értéket szúr be egy sorba.

CREATE TABLE bitwise (   
  a_int_value INT NOT NULL,  
  b_int_value INT NOT NULL);
GO  
INSERT bitwise VALUES (170, 75);  
GO  

Az alábbi lekérdezés a bitenkénti kizárólagos VAGY az oszlopokat és a_int_value az b_int_value oszlopokat hajtja végre.

SELECT a_int_value ^ b_int_value  
FROM bitwise;  
GO  

Az eredményhalmaz a következő:

-----------   
225           
  
(1 row(s) affected)  

A 170 (a_int_value vagy A) bináris ábrázolása az 0000 0000 1010 1010. A 75 (b_int_value vagy B) bináris ábrázolása az 0000 0000 0100 1011. A bitenkénti kizárólagos OR művelet végrehajtása ezen a két értéken létrehozza a bináris eredményt 0000 0000 1110 0001, amely decimális 225.

(A ^ B)     
         0000 0000 1010 1010  
         0000 0000 0100 1011  
         -------------------  
         0000 0000 1110 0001  

Lásd még:

Kifejezések (Transact-SQL)
Operátorok (Transact-SQL)
Bitenkénti operátorok (Transact-SQL)
^= (bitenkénti kizárólagos VAGY hozzárendelés) (Transact-SQL)
Összetett operátorok (Transact-SQL)