Skip to main content

BIT_TEST

Description​

Convert the value of <x> to binary form and return the value of the specified position <bits>, where <bits> starts from 0 and goes from right to left.

If <bits> has multiple values, the values at multiple <bits> positions are combined using the AND operator and the final result is returned.

If the value of <bits> is negative or exceeds the total number of bits in <x>, the result will be 0.

Integer <x> range: TINYINT, SMALLINT, INT, BIGINT, LARGEINT.

Alias​

  • BIT_TEST_ALL

Syntax​

BIT_TEST( <x>, <bits>[, <bits> ... ])

Parameters​

parameterdescription
<x>The integer to be calculated
<bits>The value at the specified position

Return Value​

Returns the value at the specified position

Examples​

select BIT_TEST(43, 1), BIT_TEST(43, -1), BIT_TEST(43, 0, 1, 3, 5,2);
+-----------------+------------------+-----------------------------+
| bit_test(43, 1) | bit_test(43, -1) | bit_test(43, 0, 1, 3, 5, 2) |
+-----------------+------------------+-----------------------------+
| 1 | 0 | 0 |
+-----------------+------------------+-----------------------------+