문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

^(배타적 비트 OR)(Transact-SQL)

두 정수 값 사이에 배타적 비트 OR 연산을 수행합니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

expression ^ expression

expression

정수 데이터 형식 범주에 속하는 데이터 형식, bit, binary 또는 varbinary 데이터 형식 중 하나인 유효한 입니다. expression은 비트 연산에서 이진 숫자로 취급됩니다.

참고 참고

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

입력 값이 int인 경우 int

입력 값이 smallint인 경우 smallint

입력 값이 tinyint인 경우 tinyint

^ 비트 연산자는 양쪽 연산에 해당 비트를 받아서 두 식 간에 배타적 비트 논리 OR를 수행합니다. 결과 비트는 입력 식에 있는 두 비트(확인 중인 현재 비트) 중 하나의 값이 1이면 1로 설정됩니다. 양쪽 비트 값이 모두 0 또는 1이면 결과 비트는 0으로 처리됩니다.

왼쪽과 오른쪽 식의 정수 데이터 형식이 서로 다르면(예: 왼쪽 expressionsmallint이고 오른쪽 expressionint임) 더 작은 데이터 형식의 인수가 더 큰 데이터 형식으로 변환됩니다. 이 경우 smallintexpressionint로 변환됩니다.

다음 예에서는 원래 값을 저장하기 위해 int 데이터 형식을 사용하여 원래 값을 저장하는 테이블을 만들고 한 행에 두 개의 값을 삽입합니다.

USE tempdb;
GO
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES 
    WHERE TABLE_NAME = 'bitwise')
DROP TABLE bitwise;
GO
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를 수행합니다.

USE tempdb;
GO
SELECT a_int_value ^ b_int_value
FROM bitwise;
GO

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

----------- 
225         

(1 row(s) affected)

170의 이진 표현(a_int_value 또는 A)은 0000 0000 1010 1010입니다. 75의 이진 표현(b_int_value 또는 B)은 0000 0000 0100 1011입니다. 이러한 두 값에 배타적 비트 OR 연산을 수행하면 결과는 이진수 0000 0000 1110 0001이며 십진수로는 225입니다.

(A ^ B)   
         0000 0000 1010 1010
         0000 0000 0100 1011
         -------------------
         0000 0000 1110 0001

커뮤니티 추가 항목

추가
표시: