unnest_bitmap
Описание
unnest_bitmap — это табличная функция, которая принимает bitmap и преобразует элементы этого bitmap в несколько строк таблицы.
Lateral Join в Selena можно использовать совместно с функцией unnest_bitmap для реализации обычной логики преобразования столбцов в строки.
Эта функция может использоваться для замены unnest(bitmap_to_array(bitmap)). Она имеет лучшую производительность, потребляет меньше ресурсов памяти и не ограничена длиной массива.
Эта функция поддерживается начиная с версии 1.5.0.
Синтаксис
unnest_bitmap(bitmap)
Параметры
bitmap: bitmap, который вы хотите преобразовать.
Возвращаемое значение
Возвращает несколько строк, преобразованных из bitmap. Тип возвращаемого значения — BIGINT.
Примеры
c2 — это столбец bitmap в таблице t1.
-- Используйте функцию bitmap_to_string для преобразования значений в столбце c2 в строку.
mysql> select c1, bitmap_to_string(c2) from t1;
+------+----------------------+
| c1 | bitmap_to_string(c2) |
+------+----------------------+
| 1 | 1,2,3,4,5,6,7,8,9,10 |
+------+----------------------+
-- Используйте функцию unnest_bitmap для развертывания столбца bitmap в несколько строк.
mysql> select c1, unnest_bitmap from t1, unnest_bitmap(c2);
+------+---------------+
| c1 | unnest_bitmap |
+------+---------------+
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 1 | 4 |
| 1 | 5 |
| 1 | 6 |
| 1 | 7 |
| 1 | 8 |
| 1 | 9 |
| 1 | 10 |
+------+---------------+