位元運算子 (Transact-SQL)

適用於:Microsoft Fabric 中 Microsoft Fabric倉儲中的 SQL ServerAzure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse AnalyticsAnalytics Platform System (PDW)SQL 分析端點

位元運算子會在整數資料類型類別目錄之任何資料類型的兩個運算式之間,執行位元操作。

位元運算子可將兩個整數值轉換成二進位位元、在每個位元上執行 ANDORNOT 運算、產生結果。 然後將結果轉換成整數。

例如,整數 170 會轉換成二進位 1010 1010

整數 75 會轉換成二進位 0100 1011

運算子 位元數學
AND

如果在任何位置的位元皆為 1,則結果為 1
1010 1010 = 170
0100 1011 = 75
-----------------
0000 1010 = 10
OR

如果在任何位置的其中一個位元為 1,則結果為 1
1010 1010 = 170
0100 1011 = 75
-----------------
1110 1011 = 235
NOT

反轉每個位元位置的位元值。
1010 1010 = 170
-----------------
0101 0101 = 85

下列文章提供有關資料庫引擎中可用位元運算子的詳細資訊:

SQL Server 2022 (16.x) 引進下列位元運算子:

位元運算子的運算元可以是整數或二進位字串資料類型類別目錄 (image 資料類型除外) 的任何資料類型,但不可以兩個運算元都是二進位字串資料類型類別目錄的任何資料類型。 下表顯示支援的運算元資料類型。

左運算元 右運算元
binary intsmallinttinyint
bit intsmallinttinyintbit
bigint bigintintsmallinttinyintbinaryvarbinary
int intsmallinttinyintbinaryvarbinary
smallint intsmallinttinyintbinaryvarbinary
tinyint intsmallinttinyintbinaryvarbinary
varbinary intsmallinttinyint

另請參閱