|(비트 OR)(Transact-SQL)

적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsPlatform System(PDW) SQL 분석 엔드포인트

Transact-SQL 문에서 이진 식으로 변환되는 두 개의 지정된 정수 값 간에 비트 논리 OR 연산을 수행합니다.

Transact-SQL 구문 표기 규칙

Syntax

expression | expression  

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

인수

expression
정수 데이터 형식 범주나 bit, binary 또는 varbinary 데이터 형식의 유효한 입니다. expression은 비트 연산의 이진 숫자로 처리됩니다.

참고

비트 연산에서는 하나의 expressionbinary 또는 varbinary 데이터 형식이 될 수 있습니다.

결과 형식

입력 값이 int이면 int를, 입력 값이 smallint이면 smallint를, 입력 값이 tinyint이면 tinyint를 반환합니다.

설명

비트 | 연산자는 양쪽 식에 해당 비트를 취하면서 두 식 간에 비트 논리 OR를 수행합니다. 결과의 비트는 입력 식의 두 비트(확인 중인 현재 비트) 중 하나 또는 둘 모두의 값이 1이면 1로 설정됩니다. 입력 식에 값이 1인 비트가 없으면 결과의 비트는 0으로 설정됩니다.

왼쪽과 오른쪽 식의 정수 데이터 형식이 서로 다르면(예: 왼쪽 smallint이고 오른쪽 int임) 더 작은 데이터 형식의 인수가 더 큰 데이터 형식으로 변환됩니다. 이 예제에서는 smallintint로 변환됩니다.

예제

다음 예에서는 원래 값을 표시하도록 int 데이터 형식의 테이블을 만들고 테이블을 하나의 행에 삽입합니다.

CREATE TABLE bitwise (  
  a_int_value INT NOT NULL,  
  b_int_value INT NOT NULL);  
GO  
INSERT bitwise VALUES (170, 75);  
GO  

다음 쿼리는 a_int_valueb_int_value 열에 대해 비트 OR를 수행합니다.

SELECT a_int_value | b_int_value  
FROM bitwise;  
GO  

결과 집합은 다음과 같습니다.

-----------   
235           
  
(1 row(s) affected)  

170(a_int_value 또는 아래 A)의 이진 표현은 0000 0000 1010 1010입니다. 75(b_int_value 또는 아래 B)의 이진 표현은 0000 0000 0100 1011입니다. 이 두 값에 비트 OR 연산을 수행하면 10진수 235에 해당되는 이진 결과 0000 0000 1110 1011이 산출됩니다.

(A | B)  
0000 0000 1010 1010  
0000 0000 0100 1011  
-------------------  
0000 0000 1110 1011  

참고 항목

연산자(Transact-SQL)
비트 연산자(Transact-SQL)
|= (비트 OR 대입)(Transact-SQL)
복합 연산자(Transact-SQL)