RIGHT_SHIFT(Transact SQL)

적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL Server 2022(16.x) Azure SQL DatabaseAzure SQL Managed InstanceSQL 분석 엔드포인트

RIGHT_SHIFT는 두 개의 매개 변수를 사용하고 두 번째 매개 변수에 지정된 비트 수만큼 오른쪽으로 이동한 첫 번째 매개 변수를 반환합니다.

RIGHT_SHIFT 함수는 >> 연산자를 통해 액세스할 수도 있습니다.

Transact-SQL 구문 표기 규칙

구문

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_amountexpression_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씩 이동

추가 정보