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

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 |
+-------+