Поделиться через


Функция bitmap_bit_position

Область применения: флажок Databricks SQL флажок Databricks Runtime 13.3 LTS и выше

Возвращает 0-разрядную позицию заданного BIGINT числа в контейнере.

В сочетании с функцией bitmap_bucket_number() она однозначно идентифицирует любое BIGINT число.

Синтаксис

bitmap_bit_position(expr)

Аргументы

  • expr: Выражение BIGINT.

Возвраты

От BIGINT 0 до 32767.

Если expr результат >0 совпадает: (expr - 1) % 32768 Если expr результат <= 0 совпадает: abs(expr) % 32768

Примеры

> SELECT bitmap_bucket_number(1), bitmap_bit_position(1);
 1  0

> SELECT bitmap_bucket_number(32768), bitmap_bit_position(32768);
 1  32767

> SELECT bitmap_bucket_number(32769), bitmap_bit_position(32769);
 2  0

> SELECT bitmap_bucket_number(0), bitmap_bit_position(0);
 0  0

> SELECT bitmap_bucket_number(-32767), bitmap_bit_position(-32767);
 0  32767

> SELECT bitmap_bucket_number(-32768), bitmap_bit_position(-32768);
 -1  0