비트 조작 함수
적용 대상: Microsoft Fabric의 Microsoft Fabric Warehouse에 있는 SQL Server 2022(16.x) Azure SQL Database Azure SQL Managed Instance SQL 분석 엔드포인트
비트 조작 함수를 사용하면 정수 또는 이진 값 내에서 단일 비트를 이동, 검색(가져오기), 설정 또는 계산하고 개별 비트보다 데이터를 더 효율적으로 처리하고 저장할 수 있습니다.
bit에는 두 개의 값(on
또는 off
, true
또는 false
를 나타내는 1
또는 0
)이 있습니다. 바이트는 8비트의 시퀀스로 구성됩니다. SQL Server의 비트 조작 함수는 바이트의 "가장 왼쪽" 비트를 가장 큰 비트(가장 중요한)로 처리합니다. 비트 조작 함수에 대해 비트는 오른쪽에서 왼쪽으로 번호가 매겨지고 0
비트는 가장 오른쪽이며 가장 작고 7
비트는 가장 왼쪽이며 가장 큽니다.
예를 들어 이진 시퀀스는 7
숫자의 10진수인 00000111
와 같습니다. 다음과 같이 2의 거듭제곱을 사용하여 계산할 수 있습니다.
00000111 = (2^2 + 2^1 + 2^0 = 4 + 2 + 1 = 7)
실제로 SQL Server는 이 값을 11100000
(바이트 반전)으로 저장하지만 비트 조작 함수는 이 값을 00000111
처럼 처리합니다.
여러 바이트가 있는 경우 첫 번째 바이트(왼쪽에서 오른쪽으로 읽기)가 가장 큰 것입니다.
다음 이미지를 사용하여 SQL Server 비트 조작 함수가 비트 및 바이트 식 값과 비트 오프셋을 해석하는 방법을 시각화할 수 있습니다.
int
smallint
함수
SQL Server의 비트를 조작하는 데 사용할 수 있는 5가지 함수는 다음과 같습니다.
다섯 가지 함수는 모두 tinyint, smallint, int, bigint, binary(n) 및 varbinary(n) 데이터 형식에서 작동합니다.
varchar, nvarchar, image, ntext, text, xml 및 table 형식은 지원되지 않습니다.
설명
초기 구현에서는 연결된 서버 내의 비트 조작 함수 또는 OPENQUERY(임시 쿼리)에 대한 분산 쿼리 기능이 지원되지 않습니다.