Перейти к основному содержимому
Версия: 2.0.x

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