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

MAP

Описание​

Создаёт MAP<K, V> определённого типа из нескольких групп пар «ключ-значение»

Синтаксис​

MAP( <key1> , <value1> [, <key2>, <value2> ... ])

Параметры​

Необязательные параметры​

  • <key1> поддерживает различные типы (см. MAP<K, V>) и используется для формирования ключа MAP
  • <value1> используется для формирования значения MAP

Переменное число параметров​

Поддерживается несколько групп параметров «ключ-значение»

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

Возвращает MAP<K, V> определённого типа, созданный из нескольких групп пар «ключ-значение»

Примечания​

  1. Количество параметров должно быть чётным (может быть 0), иначе возвращается ошибка.
  2. Ключи в параметрах могут повторяться, но Doris удаляет дубликаты ключей.
  3. Ключи могут иметь значение NULL; повторяющиеся ключи NULL удаляются.

Примеры​

  1. Обычные параметры

    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 |
    +-----------------------+--------------------------+
  2. Вызов без параметров

    select map();
    +-------+
    | map() |
    +-------+
    | {} |
    +-------+
  3. Параметры NULL

    select map(null, 2, 3, null);
    +-----------------------+
    | map(null, 2, 3, null) |
    +-----------------------+
    | {null:2, 3:null} |
    +-----------------------+
  4. При наличии повторяющихся ключей дубликаты удаляются

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