メインコンテンツまでスキップ
バージョン: 3.2

unnest_bitmap

Description

unnest_bitmap は、ビットマップを受け取り、そのビットマップ内の要素をテーブルの複数の行に変換するテーブル関数です。

StarRocks の Lateral Join は、unnest_bitmap 関数と組み合わせて、一般的な列から行へのロジックを実装することができます。

この関数は unnest(bitmap_to_array(bitmap)) を置き換えるために使用できます。パフォーマンスが向上し、メモリリソースの消費が少なく、配列の長さに制限されません。

この関数は v3.1 からサポートされています。

Syntax

unnest_bitmap(bitmap)

Parameters

bitmap: 変換したいビットマップ。

Return value

ビットマップから変換された複数の行を返します。戻り値の型は BIGINT です。

Examples

c2 はテーブル 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 関数を使用して、ビットマップ列を複数の行に展開します。
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 |
+------+---------------+