適用於:SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
Azure Synapse Analytics
分析平台系統(PDW)
Microsoft Fabric 中的 SQL 分析端點
Microsoft Fabric 中的倉儲
Microsoft Fabric 中的 SQL 資料庫
位元運算子會在整數資料類型類別目錄之任何資料類型的兩個運算式之間,執行位元操作。
位元運算子可將兩個整數值轉換成二進位位元、在每個位元上執行 AND、OR 或 NOT 運算、產生結果。 然後將結果轉換成整數。
例如,整數 170 會轉換成二進位 1010 1010。
整數 75 會轉換成二進位 0100 1011。
| Operator | 位元數學 |
|---|---|
|
AND 如果在任何位置的位元皆為 1,則結果為 1。 |
1010 1010 = 1700100 1011 = 75----------------- 0000 1010 = 10 |
|
OR 如果在任何位置的其中一個位元為 1,則結果為 1。 |
1010 1010 = 1700100 1011 = 75----------------- 1110 1011 = 235 |
|
NOT 反轉每個位元位置的位元值。 |
1010 1010 = 170----------------- 0101 0101 = 85 |
下列文章提供有關資料庫引擎中可用位元運算子的詳細資訊:
SQL Server 2022 (16.x) 引進下列位元運算子:
位元運算子的運算元可以是整數或二進位字串資料類型類別目錄 (image 資料類型除外) 的任何資料類型,但不可以兩個運算元都是二進位字串資料類型類別目錄的任何資料類型。 下表顯示支援的運算元資料類型。
| 左操作數 | 右運算元 |
|---|---|
| binary | int、smallint 或 tinyint |
| bit | int、smallint、tinyint 或 bit |
| bigint | bigint、int、smallint、tinyint、binary 或 varbinary |
| int | int、smallint、tinyint、binary 或 varbinary |
| smallint | int、smallint、tinyint、binary 或 varbinary |
| tinyint | int、smallint、tinyint、binary 或 varbinary |
| varbinary | int、smallint 或 tinyint |