Перейти к основному содержимому

bitmap_from_string

Описание

Преобразует строку в BITMAP. Строка состоит из набора чисел UINT64, разделенных запятыми. Например, строка "0, 1, 2" будет преобразована в Bitmap, в котором установлены биты 0, 1 и 2. Если входное поле недействительно, будет возвращен NULL.

Эта функция удаляет дубликаты из входной строки во время преобразования. Она должна использоваться с другими функциями, такими как bitmap_to_string, для возврата результатов в терминалах.

Синтаксис

BITMAP BITMAP_FROM_STRING(VARCHAR input)

Возвращаемое значение

Возвращает значение BITMAP. Если входная строка недействительна, возвращается NULL. Если входная строка пуста, возвращается пустое значение.

Примеры

-- Входные данные пусты, возвращается пустое значение.
MySQL > select bitmap_to_string(bitmap_empty());
+----------------------------------+
| bitmap_to_string(bitmap_empty()) |
+----------------------------------+
| |
+----------------------------------+

-- Возвращается `0,1,2`.
MySQL > select bitmap_to_string(bitmap_from_string("0, 1, 2"));
+-------------------------------------------------+
| bitmap_to_string(bitmap_from_string('0, 1, 2')) |
+-------------------------------------------------+
| 0,1,2 |
+-------------------------------------------------+

-- `-1` является недействительным входным значением, возвращается NULL.

MySQL > select bitmap_to_string(bitmap_from_string("-1, 0, 1, 2"));
+-----------------------------------+
| bitmap_from_string('-1, 0, 1, 2') |
+-----------------------------------+
| NULL |
+-----------------------------------+

-- 2^64 является недействительным входным значением, возвращается NULL.
MySQL > select bitmap_to_string(bitmap_from_string("0, 18446744073709551616"));
+-----------------------------------------------------------------+
| bitmap_to_string(bitmap_from_string('0, 18446744073709551616')) |
+-----------------------------------------------------------------+
| NULL |
+-----------------------------------------------------------------+

-- Входная строка дедуплицируется.

MySQL > select bitmap_to_string(bitmap_from_string("0, 1, 1"));
+-------------------------------------------------+
| bitmap_to_string(bitmap_from_string('0, 1, 1')) |
+-------------------------------------------------+
| 0,1 |
+-------------------------------------------------+

ключевые слова

BITMAP_FROM_STRING,BITMAP