RIGHT_SHIFT(Transact SQL)
적용 대상: Microsoft Fabric의 Microsoft Fabric Warehouse에 있는 SQL Server 2022(16.x) Azure SQL Database Azure SQL Managed Instance SQL 분석 엔드포인트
RIGHT_SHIFT는 두 개의 매개 변수를 사용하고 두 번째 매개 변수에 지정된 비트 수만큼 오른쪽으로 이동한 첫 번째 매개 변수를 반환합니다.
RIGHT_SHIFT 함수는 >>
연산자를 통해 액세스할 수도 있습니다.
구문
RIGHT_SHIFT ( expression_value, shift_amount )
expression_value >> shift_amount
인수
expression_value
LOB(큰 개체)가 아닌 정수 또는 이진 식입니다.
shift_amount
expression_value로 이동해야 하는 비트 수입니다. shift_amount는 정수 형식이어야 합니다.
반환 형식
expression_value와 동일한 형식을 반환합니다.
shift_amount 매개 변수는 bigint로 캐스팅됩니다. 매개 변수는 양수 또는 음수일 수 있으며 expression_value 데이터 형식의 비트 수보다 클 수도 있습니다. shift_amount가 음수이면 반대 방향으로 이동합니다. 예를 들어 LEFT_SHIFT (expr, -1)
은 RIGHT_SHIFT (expr, 1)
과 같습니다. shift_amount가 expression_value의 비트 수보다 크면 반환되는 결과는 0
입니다.
RIGHT_SHIFT는 논리적 이동을 수행합니다. 비트가 이동하면 원래 값이 양수인지 음수인지 여부에 관계없이 0
에 의해 빈 위치가 채워집니다.
설명
초기 구현에서는 연결된 서버 내의 비트 조작 함수 또는 OPENQUERY(임시 쿼리)에 대한 분산 쿼리 기능이 지원되지 않습니다.
>>
함수에 RIGHT_SHIFT
대한 메서드는 현재 Microsoft Fabric에서 지원되지 않습니다.
예제
다음 예제에서 정수 값 12345는 오른쪽에서 5비트씩 이동합니다.
SELECT RIGHT_SHIFT(12345, 5);
결과는 385입니다. 12345를 이진으로 변환하는 경우 0011 0000 0011 1001
이 됩니다. 이 값을 오른쪽으로 5씩 이동하면 0001 1000 0001
이 되며, 이는 10진수로 385
입니다.
다음 표에서는 각 교대 이동 중에 발생하는 사항을 보여줍니다.
정수 값 | 이진 값 | 설명 |
---|---|---|
12345 | 0011 0000 0011 1001 |
시작 값 |
6172 | 0001 1000 0001 1100 |
오른쪽으로 1씩 이동 |
3086 | 0000 1100 0000 1110 |
오른쪽으로 2씩 이동 |
1543 | 0000 0110 0000 0111 |
오른쪽으로 3씩 이동 |
771 | 0000 0011 0000 0011 |
오른쪽으로 4씩 이동 |
385 | 0000 0001 1000 0001 |
오른쪽으로 5씩 이동 |