Последнее обновление
MAP
Описание
Создаёт MAP<K, V> определённого типа из нескольких групп пар «ключ-значение»
Синтаксис
MAP( <key1> , <value1> [, <key2>, <value2> ... ])
Параметры
Необязательные параметры
<key1>поддерживает различные типы (см.MAP<K, V>) и используется для формирования ключа MAP<value1>используется для формирования значения MAP
Переменное число параметров
Поддерживается несколько групп параметров «ключ-значение»
Возвращаемое значение
Возвращает MAP<K, V> определённого типа, созданный из нескольких групп пар «ключ-значение»
Примечания
- Количество параметров должно быть чётным (может быть 0), иначе возвращается ошибка.
- Ключи в параметрах могут повторяться, но Doris удаляет дубликаты ключей.
- Ключи могут иметь значение NULL; повторяющиеся ключи NULL удаляются.
Примеры
-
Обычные параметры
select map(1, "100", 0.1, 2),map(1, "100", 0.1, 2)[1];+-----------------------+--------------------------+
| map(1, "100", 0.1, 2) | map(1, "100", 0.1, 2)[1] |
+-----------------------+--------------------------+
| {1.0:"100", 0.1:"2"} | 100 |
+-----------------------+--------------------------+ -
Вызов без параметров
select map();+-------+
| map() |
+-------+
| {} |
+-------+ -
Параметры NULL
select map(null, 2, 3, null);+-----------------------+
| map(null, 2, 3, null) |
+-----------------------+
| {null:2, 3:null} |
+-----------------------+ -
При наличии повторяющихся ключей дубликаты удаляются
select map(1, 2, 2, 11, 1, 3, null, "null 1", null, "null 2");+--------------------------------------------------------+
| map(1, 2, 2, 11, 1, 3, null, "null 1", null, "null 2") |
+--------------------------------------------------------+
| {2:"11", 1:"3", null:"null 2"} |
+--------------------------------------------------------+