~ (Bitwise NOT) (Azure Stream Analytics)
Wykonuje bitową operację logiczną NOT na wartości całkowitej.
Składnia
~ expression
Argumenty
expression
Czy dowolne prawidłowe wyrażenie typów danych bit lub bigint. Wyrażenie jest traktowane jako liczba binarna dla operacji bitowej.
Typy zwracane
bit , jeśli wartość wejściowa jest bitowa.
bigint , jeśli wartość wejściowa jest bigint.
Uwagi
Operator ~ bitowy wykonuje bitową wartość logiczną NOT na wyrażeniu, biorąc każdy bit z kolei. Jeśli wyrażenie ma wartość 0, bity w zestawie wyników są ustawione na 1; w przeciwnym razie bit w wyniku jest czyszczone do wartości 0. Innymi słowy, te są zmieniane na zera, a zera są zmieniane na te.
Na ilustracji reprezentacja binarna 170 to 0000 0000 1010 1010. Wykonanie bitowej operacji NOT na tej wartości powoduje wynikiem binarnym 1111 1111 0101 0101, czyli dziesiętnym -171.
(~170)
0000 0000 1010 1010
-------------------
1111 1111 0101 0101
Przykłady
Z typowym wejściowym zestawem danych:
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
)
Stosowanie operatora w wyrażeniach bitowych :
SELECT
bit0,
bit1,
bitN,
~ bit0 AS NOT0,
~ bit1 AS NOT1,
~ bitN AS NOTnull
INTO bitNOT
FROM MyCTE
Zwraca:
bit0 | bit1 | bitN | NOT0 | NOT1 | NOTnull |
---|---|---|---|---|---|
fałsz | true | NULL | true | fałsz | NULL |
Stosowanie operatora w wyrażeniach bigint :
SELECT
bigint0,
bigint1,
bigintN,
~ bigint0 AS NOT0,
~ bigint1 AS NOT1,
~ bigintN AS NOTnull,
~ 170 AS NOT170
INTO bigintNOT
FROM MyCTE
Zwraca:
bit0 | bit1 | bitN | NOT0 | NOT1 | NOTnull | NOT170 |
---|---|---|---|---|---|---|
0 | 1 | NULL | -1 | -2 | NULL | -171 |
Weryfikowanie typów danych wyjściowych:
SELECT
GetType(~ bit0) AS NOTtype_bit,
GetType(~ bigint0) AS NOTtype_bigint
INTO typesNOT
FROM MyCTE
Zwraca:
NOTtype_bit | NOTtype_bigint |
---|---|
bit | bigint |
Zobacz też
- Operatory bitowe (Azure Stream Analytics)
- & (bitowe AND)(Azure Stream Analytics)
- | (Bitowe LUB) (Azure Stream Analytics)
- ^ (Bitwise Exclusive OR) (Azure Stream Analytics)
- Omówienie typów danych (Azure Stream Analytics)
- Funkcje konwersji (Azure Stream Analytics)
- Wbudowane funkcje (Azure Stream Analytics)