Map(key, value)
Тип данных Map(key, value)
хранит пары ключ:значение
.
Параметры
key
— ключ. String, Integer, LowCardinality, FixedString, UUID, Date, DateTime, Date32, Enum.value
— значение. Любой тип, включая Map и Array.
Чтобы получить значение из колонки a Map('key', 'value')
, используйте синтаксис a['key']
. В настоящее время такая подстановка работает по алгоритму с линейной сложностью.
Примеры
Рассмотрим таблицу:
Выборка всех значений ключа key2
:
Результат:
Если для какого-то ключа key
в колонке с типом Map()
нет значения, запрос возвращает нули для числовых колонок, пустые строки или пустые массивы.
Результат:
Подстолбцы Map.keys и Map.values
Для оптимизации обработки столбцов Map
в некоторых случаях можно использовать подстолбцы keys
и values
вместо чтения всего столбца.
Пример
Запрос:
Результат:
См. также