subdivide_bitmap
大きなビットマップを複数のサブビットマップに分割します。
この関数は主にビットマップをエクスポートするために使用されます。ビットマップが大きすぎると、MySQL プロトコルで許可されている最大パケットサイズを超えてしまいます。
この関数は v2.5 からサポートされています。
構文
BITMAP subdivide_bitmap(bitmap, length)
パラメータ
bitmap
: 分割する必要があるビットマップ。必須です。
length
: 各サブビットマップの最大長。必須です。この値より大きいビットマップは複数の小さなビットマップに分割されます。
戻り値
length
より大きくない複数のサブビットマップを返します。
例
テーブル t1
があり、c2
列が BITMAP 列であるとします。
-- `c2` の値を文字列に変換するために bitmap_to_string() を使用します。
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` を最大長が 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 |
+------+------------------------------------+