~ (비트 NOT)(Azure Stream Analytics)
정수 값에 비트 논리 NOT 연산을 수행합니다.
Syntax
~ expression
인수
expression
데이터 형식 비트 또는 bigint의 유효한 식입니다. 식은 비트 연산에 대한 이진 숫자로 처리됩니다.
반환 형식
입력 값이 bit이면 bit입니다.
입력 값이 bigint이면 bigint입니다.
설명
~ 비트 연산자는 식에서 비트 논리 NOT을 수행하여 각 비트를 차례로 수행합니다. 식의 값이 0이면 결과 집합의 비트가 1로 설정되고, 그렇지 않으면 결과 비트가 값 0으로 지워집니다. 즉, 1은 0으로 변경되고 0은 1로 변경됩니다.
예를 들어 170의 이진 표현은 0000 0000 1010 1010입니다. 이 값에 대해 비트 NOT 연산을 수행하면 10진수 -171인 이진 결과 1111 1111 0101 0101이 생성됩니다.
(~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
HRESULT = NO_ERROR를
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
HRESULT = NO_ERROR를
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
HRESULT = NO_ERROR를
NOTtype_bit | NOTtype_bigint |
---|---|
bit | bigint |