Skip to main content
Shifts the bits in the first argument to the right by n bits, where n is the second argument. Shifting right by n positions is equivalent to dividing the number by 2^n.

Syntax

BIT_SHIFT_RIGHT(<value>, <bits>)

Parameters

ParameterDescriptionSupported input types
<value>Specifies the value to shift.INT, BIGINT
<bits>The number of bits to shift.INT

Return Types

The BIT_SHIFT_RIGHT function returns a result of either type INT or BIGINT, depending on the type of the input <expression>.

Examples

Example The following code example shifts 0001, the binary representation of 1, to the right by two bits, which yields 0000, the binary representation for 0:
SELECT bit_shift_right(1, 2) AS res;
res int
0

Rows: 1Execution time: 5.33ms

Example The following code example shifts 00101, the binary representation of 5, to the right by two bits, which yields 00001, the binary representation for 1:
SELECT bit_shift_right(5, 2) AS res;
res int
1

Rows: 1Execution time: 5.64ms

Example The following code example shifts the binary representation of -3, which is 1111111111111101 in signed two’s complement, one bit to the right, resulting in 1111111111111110, the signed two’s complement of -2:
SELECT bit_shift_right(-3, 1) AS res;
res int
-2

Rows: 1Execution time: 5.41ms