Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Förhandsversion av Microsoft Fabric
Utför en bitvis exklusiv OR-åtgärd mellan två heltalsvärden.
Transact-SQL syntaxkonventioner
Syntax
expression ^ expression
Arguments
expression
Är ett giltigt uttryck för någon av datatyperna i heltalsdatatypen kategori, bit eller binära eller varbinära datatyper.
uttrycket behandlas som ett binärt tal för bitvis-åtgärden.
Note
Endast ett uttryck kan vara av antingen binär eller varbinär datatyp i en bitvis åtgärd.
Result Types
int om indatavärdena är int.
smallint om indatavärdena är småint.
tinyint om indatavärdena är småint.
Remarks
Bitvisoperatorn ^ utför en bitvis logisk exklusiv ELLER mellan de två uttrycken och tar varje motsvarande bit för båda uttrycken. Bitarna i resultatet är inställda på 1 om endera (men inte båda) bitar (för den aktuella biten som löses) i indatauttrycken har värdet 1. Om båda bitarna är 0 eller båda bitarna är 1 rensas biten i resultatet till värdet 0.
Om vänster- och högeruttrycken har olika heltalsdatatyper (till exempel är det vänstra uttrycketsmallint och det högra uttrycket är int), konverteras argumentet för den mindre datatypen till den större datatypen. I det här fallet konverteras smallint-uttrycket till en int.
Examples
I följande exempel skapas en tabell med datatypen int för att lagra de ursprungliga värdena och infogar två värden i en rad.
CREATE TABLE bitwise (
a_int_value INT NOT NULL,
b_int_value INT NOT NULL);
GO
INSERT bitwise VALUES (170, 75);
GO
Följande fråga utför den bitvis exklusiva OR på kolumnerna a_int_value och b_int_value .
SELECT a_int_value ^ b_int_value
FROM bitwise;
GO
Här är resultatuppsättningen:
-----------
225
(1 row(s) affected)
Den binära representationen av 170 (a_int_value eller A) är 0000 0000 1010 1010. Den binära representationen av 75 (b_int_value eller B) är 0000 0000 0100 1011. Om du utför den bitvis exklusiva OR-åtgärden på dessa två värden genereras det binära resultatet 0000 0000 1110 0001, som är decimalt 225.
(A ^ B)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 1110 0001
See Also
Expressions (Transact-SQL)
Operators (Transact-SQL)
Bitvisoperatorer (Transact-SQL)
^= (Bitvis exklusiv eller tilldelning) (Transact-SQL)
Sammansatta operatorer (Transact-SQL)