Последнее обновление
SUB_BITMAP
Описание
Извлекает подмножество элементов Bitmap, начиная с указанной позиции и ограничивая их количество заданным пределом, и возвращает это подмножество в виде нового Bitmap.
Синтаксис
SUB_BITMAP(<bitmap>, <position>, <cardinality_limit>)
Параметры
| Параметр | Описание |
|---|---|
<bitmap> | Значение Bitmap |
<position> | Начальная позиция (включительно). При отрицательной индексации последний элемент имеет индекс -1. |
<cardinality_limit> | Максимальное количество элементов |
Возвращаемое значение
Bitmap, содержащий подмножество элементов в заданном диапазоне с учётом ограничения на их количество.
- Если параметр равен NULL, возвращает NULL
Примеры
Чтобы получить подмножество Bitmap с позиции 0 и с ограничением количества элементов до 3:
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 |
+-------+
Чтобы получить подмножество Bitmap с позиции 2 и с ограничением количества элементов до 100:
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 |
+-------+