~ (побитовое NOT) (Azure Stream Analytics)
Выполняет побитовую логическую операцию НЕ с целочисленным значением.
Синтаксис
~ expression
Аргументы
expression
Любое допустимое выражение типов данных bit или bigint. Выражение обрабатывается как двоичное число для побитовой операции.
Типы возвращаемых данных
bit , если входное значение имеет значение bit.
bigint , если входное значение — bigint.
Комментарии
Побитовый оператор ~ выполняет побитовое логическое НЕ в выражении, принимая каждый бит по очереди. Если выражение имеет значение 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 |
---|---|---|---|---|---|
false | true | NULL | true | false | NULL |
Применение оператора к выражениям 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 | NULL | -1 | -2 | NULL | -171 |
Проверка типов выходных данных:
SELECT
GetType(~ bit0) AS NOTtype_bit,
GetType(~ bigint0) AS NOTtype_bigint
INTO typesNOT
FROM MyCTE
Возвращает:
NOTtype_bit | NOTtype_bigint |
---|---|
bit | BIGINT |
См. также:
- Побитовые операторы (Azure Stream Analytics)
- & (побитовое И)(Azure Stream Analytics)
- | (Побитовое ИЛИ) (Azure Stream Analytics)
- ^ (побитовое исключающее ИЛИ) (Azure Stream Analytics)
- Общие сведения о типах данных (Azure Stream Analytics)
- Функции преобразования (Azure Stream Analytics)
- Встроенные функции (Azure Stream Analytics)