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
| Parameter | Description | Supported 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;
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;
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;
Rows: 1Execution time: 5.41ms