&(비트 AND)(Transact-SQL)
적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) Microsoft Fabric의 SQL 분석 엔드포인트 Microsoft Fabric의 웨어하우스
두 정수 값 간에 비트 논리 AND 연산을 수행합니다.
구문
expression & expression
인수
expression
정수 데이터 형식 범주에 속하는 데이터 형식, bit, binary 또는 varbinary 데이터 형식 중 하나인 유효한 식입니다. expression은 비트 연산의 이진 숫자로 처리됩니다.
참고
비트 연산에서는 하나의 식이 binary 또는 varbinary 데이터 형식이 될 수 있습니다.
결과 형식
입력 값이 int이면 int입니다.
입력 값이 smallint이면 smallint입니다.
입력된 값이 tinyint 또는 bit인 경우 tinyint입니다.
설명
& 비트 연산자는 두 식 간에 비트 논리 AND를 수행하여 두 식에 대해 각 해당 비트를 사용합니다. 결과의 비트는 입력 식에 있는 양쪽 비트(확인 중인 현재 비트)의 값이 1이면 1로 설정되고 그렇지 않으면 0으로 설정됩니다.
왼쪽과 오른쪽 식의 정수 데이터 형식이 서로 다르면(예: 왼쪽 식은 smallint이고 오른쪽 식은 int임) 더 작은 데이터 형식의 인수가 더 큰 데이터 형식으로 변환됩니다. 이 경우 smallint 식은 int로 변환됩니다.
예제
다음 예에서는 값을 저장하기 위해 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_value
와 b_int_value
열 간에 비트 AND를 수행합니다.
SELECT a_int_value & b_int_value
FROM bitwise;
GO
결과 집합은 다음과 같습니다.
-----------
10
(1 row(s) affected)
170의 이진 표현(a_int_value
또는 A
)은 0000 0000 1010 1010
입니다. 75의 이진 표현(b_int_value
또는 B
)은 0000 0000 0100 1011
입니다. 이 두 값에 대해 비트 AND 연산을 수행하면 이진수로 0000 0000 0000 1010
이 산출되며 십진수로는 10입니다.
(A & B)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 0000 1010
참고 항목
식(Transact-SQL)
연산자(Transact-SQL)
비트 연산자(Transact-SQL)
&=(비트 AND 할당)(Transact-SQL)
복합 연산자(Transact-SQL)