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


Bitenkénti operátorok (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

A bitenkénti operátorok bitmanipulációkat végeznek az egész szám adattípus-kategória bármely adattípusának két kifejezése között.

A bitenkénti operátorok két egész számot bináris bitekké konvertálnak, minden biten végrehajtják az AND, ORvagy NOT műveletet, és eredményt adnak. Ezután az eredményt egész számmá alakítja.

Az egész szám 170 például binárissá 1010 1010alakul.

Az egész szám 75 binárissá 0100 1011alakul.

Operator Bitwise matematika
AND

Ha a bitek bármelyik pozícióban vannak1, az eredmény .1
1010 1010 = 170
0100 1011 = 75
-----------------
0000 1010 = 10
OR

Ha bármelyik bit bármelyik pozícióban van1, az eredmény .1
1010 1010 = 170
0100 1011 = 75
-----------------
1110 1011 = 235
NOT

A bit értékét minden bithelyzetben megfordítja.
1010 1010 = 170
-----------------
0101 0101 = 85

Az alábbi cikkek további információt nyújtanak az adatbázismotorban elérhető bitenkénti operátorokról:

Az SQL Server 2022-ben (16.x) a következő bitenkénti operátorok jelentek meg:

A bitenkénti operátorok operandusai lehetnek az egész szám vagy a bináris sztring adattípus-kategóriáinak bármelyik adattípusa (kivéve a kép adattípusát), azzal a kivételével, hogy mindkét operandus nem lehet a bináris sztring adattípus kategóriájának egyik adattípusa sem. Az alábbi táblázat a támogatott operandus-adattípusokat mutatja be.

Bal operánd Jobb operánd
binary int, smallint vagy tinyint
bit int, smallint, tinyint vagy bit
bigint bigint, int, smallint, tinyint, binary vagy varbinary
int int, smallint, tinyint, binary vagy varbinary
smallint int, smallint, tinyint, binary vagy varbinary
tinyint int, smallint, tinyint, binary vagy varbinary
varbinary int, smallint vagy tinyint

Lásd még