Dela via


Bitvis operatorer (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Förhandsversion av Microsoft Fabric

Bitvis-operatorer utför bitmanipuleringar mellan två uttryck för någon av datatyperna i kategorin heltalsdatatyp.

Bitvis-operatorer konverterar två heltalsvärden till binära bitar, utför ANDåtgärden , OReller NOT på varje bit, vilket ger ett resultat. Konverterar sedan resultatet till ett heltal.

Heltalet 170 konverterar till exempel till binärt 1010 1010.

Heltalet 75 konverteras till binärt 0100 1011.

Operator Bitwise math
AND

Om bitar vid någon position båda 1är , är 1resultatet .
1010 1010 = 170
0100 1011 = 75
-----------------
0000 1010 = 10
OR

Om endera biten vid någon position är 1är 1resultatet .
1010 1010 = 170
0100 1011 = 75
-----------------
1110 1011 = 235
NOT

Ändrar bitvärdet vid varje bitposition.
1010 1010 = 170
-----------------
0101 0101 = 85

Följande artiklar innehåller mer information om de bitvis operatorer som är tillgängliga i databasmotorn:

Följande bitvis-operatorer introducerades i SQL Server 2022 (16.x):

Operander för bitvis operatorer kan vara någon av datatyperna i heltals- eller binärsträngsdatatypen (förutom bilddatatypen ), förutom att båda operanderna inte kan vara någon av datatyperna i kategorin för datatypen binär sträng. I följande tabell visas de operanddatatyper som stöds.

Left operand Right operand
binary int, smallint eller tinyint
bit int, smallint, tinyint eller bit
bigint bigint, int, smallint, tinyint, binary eller varbinary
int int, smallint, tinyint, binary eller varbinary
smallint int, smallint, tinyint, binary eller varbinary
tinyint int, smallint, tinyint, binary eller varbinary
varbinary int, smallint eller tinyint

See also