✅ Azure 串流分析 ✅ 網狀架構事件串流
在整數值上執行位邏輯 NOT 運算。
語法
~ expression
論點
表示式
這是數據類型位或 bigint 的任何有效運算式。 表達式會被視為位運算的二進位數。
傳回型別
如果輸入值為 bit,則 bit。
如果輸入值是 bigint,則 bigint。
備註
~ 位運算子會在表達式上執行位邏輯 NOT,並輪用每個位。 如果 expression 的值為 0,結果集中的位會設定為 1;否則,結果中的位會清除為0的值。 換句話說,一個會變更為零,零會變更為零。
例如,170 的二進位表示法是 0000 0000 1010 1010。 在此值上執行位 NOT 運算會產生二進位結果 1111 1111 0101 0101,也就是十進位 -171。
(~170)
0000 0000 1010 1010
-------------------
1111 1111 0101 0101
範例
使用一般輸入資料集:
WITH MyCTE AS (
SELECT
CAST(0 AS BIT) AS bit0,
CAST(1 AS BIT) AS bit1,
CAST(NULL AS BIT) AS bitN,
CAST(0 AS BIGINT) AS bigint0,
CAST(1 AS BIGINT) AS bigint1,
CAST(NULL AS BIGINT) AS bigintN
FROM input
)
在 位 元運算式上套用 運算子:
SELECT
bit0,
bit1,
bitN,
~ bit0 AS NOT0,
~ bit1 AS NOT1,
~ bitN AS NOTnull
INTO bitNOT
FROM MyCTE
退貨
| bit0 | bit1 | bitN | NOT0 | NOT1 | NOTnull |
|---|---|---|---|---|---|
| 假的 | 是 | 零 | 是 | 假的 | 零 |
在 bigint 運算式上套用運算子:
SELECT
bigint0,
bigint1,
bigintN,
~ bigint0 AS NOT0,
~ bigint1 AS NOT1,
~ bigintN AS NOTnull,
~ 170 AS NOT170
INTO bigintNOT
FROM MyCTE
退貨
| bit0 | bit1 | bitN | NOT0 | NOT1 | NOTnull | NOT170 |
|---|---|---|---|---|---|---|
| 0 | 1 | 零 | -1 | -2 | 零 | -171 |
驗證 輸出類型:
SELECT
GetType(~ bit0) AS NOTtype_bit,
GetType(~ bigint0) AS NOTtype_bigint
INTO typesNOT
FROM MyCTE
退貨
| NOTtype_bit | NOTtype_bigint |
|---|---|
| 位元 | Bigint |