다음을 통해 공유


| (비트 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

참고 항목