BIT_SHIFT_LEFT

Shifts the bits in the first argument to the left by n bits, where n is the second argument. Shifting left by n positions is equivalent to multiplying the number by 2^n.

Syntax

BIT_SHIFT_LEFT(<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_LEFT 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 left by two bits, which yields 0100, the binary representation for 4:

SELECT bit_shift_left(1, 2) AS res;

Returns

res (INTEGER)
4

Example

The following code example shifts 00101, the binary representation of 5, to the left by two bits, which yields 10100, the binary representation of 20:

SELECT bit_shift_left(5, 2) AS res;

Returns

res (INTEGER)
20

Example

The following code example shifts the binary representation of -3, which is 1111111111111101 in signed two’s complement, one bit to the left, resulting in 1111111111111010, the binary signed two’s complement of -6:

SELECT bit_shift_left(-3, 1) AS res;

Returns

res (INTEGER)
-6