| (비트 OR) (Azure Stream Analytics)
두 정수 값 간에 비트 논리 OR 연산을 수행하여 두 식에서 각 해당 비트를 평가합니다.
Syntax
expression | expression
인수
expression
데이터 형식 비트 또는 bigint의 유효한 식입니다. 식은 비트 연산에 대한 이진 숫자로 처리됩니다.
반환 형식
두 입력 값이 모두 비트이면 비트입니다.
하나 또는 둘 다 입력 값이 bigint이면 bigint입니다.
설명
| bitwise 연산자는 두 식 간에 비트 논리 OR을 수행하여 두 식에 해당하는 각 비트를 사용합니다. 입력 식의 비트 중 하나 또는 둘 다(현재 확인 중인 비트의 경우) 값이 1이면 결과의 비트가 1로 설정됩니다. 그렇지 않으면 결과의 비트가 0으로 설정됩니다.
예를 들어 170의 이진 표현은 0000 0000 1010 1010입니다. 75의 이진 표현은 0000 0000 0100 1011입니다. 이러한 두 값에 대해 비트 AND 연산을 수행하면 이진 결과 0000 0000 1110 1011이 생성되며 이는 10진수 235입니다.
(170 | 75)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 1110 1011
FLOAT 값을 BIGINT에 캐스팅하고 비트 연산자를 적용해도 BIT에 캐스팅하고 동일한 연산자를 적용하는 것과 같은 결과가 반환되지 않는 경우가 많습니다.
- 첫 번째 옵션: 170 | 75.0 => 170 | 75 = 235
- 두 번째 옵션: 170 | 75.0 => 170 | 1 = 171
비트로 변환하는 규칙은 데이터 형식 개요 를 참조하세요.
예제
일반적인 입력 데이터 세트 사용:
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 | bit0 AS OR00,
bit0 | bit1 AS OR01,
bit1 | bit0 AS OR10,
bit1 | bit1 AS OR11,
bitN | bit0 AS ORnull
INTO bitOR
FROM MyCTE
HRESULT = NO_ERROR를
bit0 | bit1 | bitN | OR00 | OR01 | OR10 | OR11 | ORnull |
---|---|---|---|---|---|---|---|
false | true | NULL | false | true | true | true | NULL |
bigint 식에 연산자 적용:
SELECT
bigint0,
bigint1,
bigintN,
bigint0 | bigint0 AS OR00,
bigint0 | bigint1 AS OR01,
bigint1 | bigint0 AS OR10,
bigint1 | bigint1 AS OR11,
bigintN | bigint1 AS ORnull,
170 | 75 AS ORvalues
INTO bigintOR
FROM MyCTE
HRESULT = NO_ERROR를
bigint0 | bigint1 | bigintN | OR00 | OR01 | OR10 | OR11 | ORnull | ORvalues |
---|---|---|---|---|---|---|---|---|
0 | 1 | NULL | 0 | 1 | 1 | 1 | NULL | 235 |
출력 형식의 유효성 검사:
SELECT
GetType(bit0 | bit0) AS ORtype_bit,
GetType(bigint0 | bigint0) AS ORtype_bigint,
GetType(bit0 | bigint0) AS ORtype_mixed
INTO typesOR
FROM MyCTE
HRESULT = NO_ERROR를
ORtype_bit | ORtype_bigint | ORtype_mixed |
---|---|---|
bit | bigint | bigint |