Перейти к основному содержимому
Версия: 2.0.x

subdivide_bitmap

Разбивает большой bitmap на несколько под-bitmap.

Эта функция в основном используется для экспорта bitmap-ов. Слишком большие bitmap-ы превышают максимальный размер пакета, разрешённый протоколом MySQL.

Эта функция поддерживается с версии v1.5.2.

Синтаксис

BITMAP subdivide_bitmap(bitmap, length)

Параметры

bitmap: Bitmap, который необходимо разбить, обязательный параметр. length: Максимальная длина каждого под-bitmap, обязательный параметр. Bitmap-ы, превышающие это значение, будут разбиты на несколько маленьких bitmap-ов.

Возвращаемое значение

Возвращает несколько под-bitmap, размер которых не превышает length.

Примеры

Предположим, есть таблица t1, в которой столбец c2 является столбцом типа BITMAP.

-- Используйте 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 |
+------+----------------------+

-- Разбить `c2` на маленькие bitmap-ы, максимальная длина которых равна 3.

mysql> select c1, bitmap_to_string(subdivide_bitmap) from t1, subdivide_bitmap(c2, 3);
+------+------------------------------------+
| c1 | bitmap_to_string(subdivide_bitmap) |
+------+------------------------------------+
| 1 | 1,2,3 |
| 1 | 4,5,6 |
| 1 | 7,8,9 |
| 1 | 10 |
+------+------------------------------------+