SUB_BITMAP
説明
指定された位置から開始し、指定された濃度制限によって制限されたBitmap要素のサブセットを抽出し、そのサブセットを新しいBitmapとして返します。
構文
SUB_BITMAP(<bitmap>, <position>, <cardinality_limit>)
パラメータ
| パラメータ | 説明 |
|---|---|
<bitmap> | Bitmap値 |
<position> | 開始位置(範囲に含む)。インデックスが負の場合、最後の要素は-1。 |
<cardinality_limit> | 要素の最大数 |
戻り値
指定された範囲と制限内のサブセットBitmap。
- パラメータがNULLの場合、NULLを返す
例
位置0から開始し、cardinality制限が3のBitmapのサブセットを取得するには:
select bitmap_to_string(sub_bitmap(bitmap_from_string('1,0,1,2,3,1,5'), 0, 3)) value;
結果は次のようになります:
+-------+
| value |
+-------+
| 0,1,2 |
+-------+
Bitmap のサブセットを位置 -3 から開始し、基数制限を 2 として取得するには:
select bitmap_to_string(sub_bitmap(bitmap_from_string('1,0,1,2,3,1,5'), -3, 2)) value;
結果は以下のようになります:
+-------+
| value |
+-------+
| 2,3 |
+-------+
位置2から開始してカーディナリティの上限を100とするBitmapのサブセットを取得するには:
select bitmap_to_string(sub_bitmap(bitmap_from_string('1,0,1,2,3,1,5'), 2, 100)) value;
結果は以下のようになります:
+-------+
| value |
+-------+
| 2,3,5 |
+-------+
select bitmap_to_string(sub_bitmap(bitmap_from_string('1,0,1,2,3,1,5'), 2, NULL)) value;
結果は次のようになります:
+-------+
| value |
+-------+
| NULL |
+-------+