Функции для работы со словарями
Для словарей, создаваемых с помощью DDL‑запросов, параметр dict_name должен быть полностью указан в формате <database>.<dict_name>. В противном случае используется текущая база данных.
Информацию о подключении и настройке словарей см. в разделе Словари.
Примеры словарей
Примеры в этом разделе используют следующие словари. Вы можете создать их в ClickHouse, чтобы выполнить примеры для функций, описанных ниже.
Пример словаря для функций dictGet<T> и dictGet<T>OrDefault
Пример словаря для dictGetAll
Создайте таблицу для хранения данных словаря regexp tree:
Вставьте данные в таблицу:
Создайте словарь regexp tree:
Пример словаря с ключом-диапазоном
Создайте исходную таблицу:
Вставьте данные в исходную таблицу:
Создайте словарь:
Пример словаря со сложным ключом
Создайте исходную таблицу:
Вставьте данные в исходную таблицу:
Создайте словарь:
Пример иерархического словаря
Создайте исходную таблицу:
Вставьте данные в исходную таблицу:
Создайте словарь:
dictGet
Появилась в версии: v18.16
Извлекает значения из словаря.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_names— Имя столбца словаря или кортеж имен столбцов.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее UInt64/Tuple(T).UInt64илиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr, если ключ найден.
Если ключ не найден, возвращает содержимое элемента <null_value>, указанного для атрибута в конфигурации словаря.
Примеры
Получение одного атрибута
Несколько атрибутов
dictGetAll
Появилась в версии: v23.5
Преобразует значение атрибута словаря в тип данных All независимо от конфигурации словаря.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
в противном случае возвращает содержимое элемента <null_value>, указанного для атрибута в конфигурации словаря.
ClickHouse выбрасывает исключение, если не может распарсить значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetChildren
Появилась в версии: v21.4
Возвращает дочерние элементы первого уровня в виде массива индексов. Является обратным преобразованием для dictGetHierarchy.
Синтаксис
Аргументы
dict_name— имя словаря.Stringkey— ключ, который требуется проверить.const String
Возвращаемое значение
Возвращает дочерние элементы (потомков) первого уровня для указанного ключа. Array(UInt64)
Примеры
Получить дочерние элементы первого уровня словаря
dictGetDate
Введена в версии: v1.1
Преобразует значение атрибута словаря к типу данных Date независимо от конфигурации словаря.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
в противном случае возвращает содержимое элемента <null_value>, заданного для атрибута в конфигурации словаря.
ClickHouse выбрасывает исключение, если не может разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetDateOrDefault
Добавлено в: v1.1
Преобразует значение атрибута словаря в тип данных Date независимо от настроек словаря или возвращает указанное значение по умолчанию, если ключ не найден.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или значение-кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)default_value_expr— Значение или значения, возвращаемые, если словарь не содержит строки с ключомid_expr.ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, соответствующее id_expr,
в противном случае — значение, переданное в параметре default_value_expr.
ClickHouse генерирует исключение, если не может распарсить значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetDateTime
Появилась в версии: v1.1
Преобразует значение атрибута словаря в тип данных DateTime независимо от конфигурации словаря.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
в противном случае — содержимое элемента <null_value>, указанного для атрибута в конфигурации словаря.
ClickHouse генерирует исключение, если не может распарсить значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetDateTimeOrDefault
Добавлена в версии: v1.1
Преобразует значение атрибута словаря к типу данных DateTime независимо от конфигурации словаря или возвращает указанное значение по умолчанию, если ключ не найден.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или значение кортежа (в зависимости от конфигурации словаря).ExpressionилиTuple(T)default_value_expr— Значение или значения, возвращаемые, если словарь не содержит строки с ключомid_expr.ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
иначе возвращает значение, переданное в параметре default_value_expr.
ClickHouse генерирует исключение, если не может разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetDescendants
Добавлено в: v21.4
Возвращает всех потомков так, как если бы функция dictGetChildren была рекурсивно применена level раз.
Синтаксис
Аргументы
dict_name— имя словаря.Stringkey— ключ, который нужно проверить.const Stringlevel— уровень иерархии. Еслиlevel = 0, возвращает всех потомков до конца.UInt8
Возвращаемое значение
Возвращает потомков для ключа. Array(UInt64)
Примеры
Получение дочерних элементов словаря первого уровня
dictGetFloat32
Появилась в версии: v1.1
Преобразует значение атрибута словаря к типу данных Float32 независимо от конфигурации словаря.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или значение-кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, соответствующее id_expr,
в противном случае возвращает содержимое элемента <null_value>, указанного для атрибута в конфигурации словаря.
ClickHouse генерирует исключение, если не может разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetFloat32OrDefault
Добавлена в версии: v1.1
Преобразует значение атрибута словаря к типу данных Float32 независимо от конфигурации словаря или возвращает указанное значение по умолчанию, если ключ не найден.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)default_value_expr— Значение или значения, возвращаемые, если в словаре нет строки с ключомid_expr.ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, соответствующее id_expr,
в противном случае возвращает значение, переданное в параметре default_value_expr.
ClickHouse генерирует исключение, если не может разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetFloat64
Впервые представлена в версии v1.1
Преобразует значение атрибута словаря к типу данных Float64 независимо от конфигурации словаря.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя атрибута словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или кортеж значений (в зависимости от конфигурации словаря).ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
в противном случае возвращает содержимое элемента <null_value>, указанного для атрибута в конфигурации словаря.
ClickHouse выбрасывает исключение, если не может распарсить значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetFloat64OrDefault
Впервые представлена в: v1.1
Преобразует значение атрибута словаря к типу данных Float64 независимо от конфигурации словаря или возвращает указанное значение по умолчанию, если ключ не найден.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или значение кортежа (в зависимости от конфигурации словаря).ExpressionилиTuple(T)default_value_expr— Значение или значения, которые возвращаются, если словарь не содержит строку с ключомid_expr.ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, соответствующее id_expr,
в противном случае возвращает значение, переданное в параметре default_value_expr.
ClickHouse генерирует исключение, если не удаётся разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetHierarchy
Появилось в версии: v1.1
Создаёт массив, содержащий всех родителей ключа в иерархическом словаре.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringkey— Значение ключа.const String
Возвращаемое значение
Возвращает родителей для ключа. Array(UInt64)
Примеры
Получение иерархии для ключа
dictGetIPv4
Впервые появилась в версии v1.1
Преобразует значение атрибута словаря в тип данных IPv4 независимо от конфигурации словаря.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или значение кортежа (в зависимости от конфигурации словаря).ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, соответствующее id_expr,
иначе возвращает содержимое элемента <null_value>, указанного для атрибута в конфигурации словаря.
ClickHouse генерирует исключение, если не удаётся разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetIPv4OrDefault
Впервые появилась в: v23.1
Преобразует значение атрибута словаря к типу данных IPv4 независимо от конфигурации словаря или возвращает указанное значение по умолчанию, если ключ не найден.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)default_value_expr— Значение или значения, возвращаемые, если словарь не содержит строки с ключомid_expr.ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, соответствующее id_expr,
в противном случае возвращает значение, переданное через параметр default_value_expr.
ClickHouse генерирует исключение, если не может разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetIPv6
Добавлена в версии: v23.1
Преобразует значение атрибута словаря в тип данных IPv6 независимо от конфигурации словаря.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или значение кортежа (в зависимости от конфигурации словаря).ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, соответствующее id_expr,
иначе возвращает содержимое элемента <null_value>, указанного для атрибута в конфигурации словаря.
ClickHouse генерирует исключение, если не удаётся распарсить значение атрибута или оно не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetIPv6OrDefault
Введена в версии: v23.1
Преобразует значение атрибута словаря к типу данных IPv6 независимо от конфигурации словаря или возвращает указанное значение по умолчанию, если ключ не найден.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или значение кортежа (в зависимости от конфигурации словаря).ExpressionилиTuple(T)default_value_expr— Значение или значения, возвращаемые, если словарь не содержит строку с ключомid_expr.ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
иначе возвращает значение, переданное в параметре default_value_expr.
ClickHouse выбрасывает исключение, если не может распарсить значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetInt16
Добавлено в: v1.1
Преобразует значение атрибута словаря к типу данных Int16 независимо от конфигурации словаря.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
в противном случае возвращает содержимое элемента <null_value>, указанного для атрибута в конфигурации словаря.
ClickHouse выбрасывает исключение, если не удаётся разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetInt16OrDefault
Впервые представлена в: v1.1
Преобразует значение атрибута словаря к типу данных Int16 независимо от конфигурации словаря или возвращает указанное значение по умолчанию, если ключ не найден.
Синтаксис
Аргументы
dict_name— имя словаря.Stringattr_name— имя столбца словаря.StringилиTuple(String)id_expr— значение ключа. Выражение, возвращающее значение типа ключа словаря или кортеж значений (в зависимости от конфигурации словаря).ExpressionилиTuple(T)default_value_expr— значение или значения, возвращаемые, если словарь не содержит строки с ключомid_expr.ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, соответствующее id_expr,
в противном случае возвращает значение, переданное в параметре default_value_expr.
ClickHouse генерирует исключение, если не может разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetInt32
Добавлена в версии: v1.1
Преобразует значение атрибута словаря к типу данных Int32 независимо от конфигурации словаря.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
иначе возвращает содержимое элемента <null_value>, указанного для атрибута в конфигурации словаря.
ClickHouse генерирует исключение, если не может интерпретировать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetInt32OrDefault
Введён в версии: v1.1
Преобразует значение атрибута словаря к типу данных Int32 независимо от конфигурации словаря или возвращает указанное значение по умолчанию, если ключ не найден.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или значение-кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)default_value_expr— Значение (значения), возвращаемое, если словарь не содержит строки с ключомid_expr.ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, соответствующее id_expr,
в противном случае возвращает значение, переданное в параметре default_value_expr.
ClickHouse вызывает исключение, если не может разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetInt64
Добавлена в: v1.1
Преобразует значение атрибута словаря к типу данных Int64 независимо от конфигурации словаря.
Синтаксис
Аргументы
dict_name— имя словаря.Stringattr_name— имя столбца словаря.StringилиTuple(String)id_expr— значение ключа. Выражение, возвращающее значение типа ключа словаря или кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
в противном случае возвращает значение элемента <null_value>, заданного для атрибута в конфигурации словаря.
ClickHouse генерирует исключение, если не может разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetInt64OrDefault
Добавлена в версии: v1.1
Преобразует значение атрибута словаря к типу данных Int64 независимо от конфигурации словаря или возвращает указанное значение по умолчанию, если ключ не найден.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)default_value_expr— Значение или значения, которые возвращаются, если словарь не содержит строки с ключомid_expr.ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
в противном случае возвращает значение, переданное в параметре default_value_expr.
ClickHouse генерирует исключение, если не может разобрать значение атрибута или если это значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetInt8
Введена в версии: v1.1
Преобразует значение атрибута словаря в тип данных Int8 независимо от конфигурации словаря.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или значение-кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
в противном случае возвращает содержимое элемента <null_value>, указанного для атрибута в конфигурации словаря.
ClickHouse генерирует исключение, если не может разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetInt8OrDefault
Введена в версии v1.1
Преобразует значение атрибута словаря к типу данных Int8 независимо от конфигурации словаря или возвращает переданное значение по умолчанию, если ключ не найден.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение ключевого типа словаря или значение кортежа (зависит от конфигурации словаря).ExpressionилиTuple(T)default_value_expr— Значение или значения, возвращаемые, если словарь не содержит строки с ключомid_expr.ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
в противном случае возвращает значение, переданное в параметре default_value_expr.
ClickHouse выбрасывает исключение, если не может интерпретировать значение атрибута или значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetKeys
Введена в версии v25.12
Возвращает ключ(и) словаря, для которых значение атрибута равно указанному. Это обратная операция к функции dictGet для одного атрибута.
Используйте SETTING max_reverse_dictionary_lookup_cache_size_bytes, чтобы ограничить размер кэша обратного поиска для каждого запроса, используемого в dictGetKeys.
Кэш хранит сериализованные кортежи ключей для каждого значения атрибута, чтобы избежать повторного сканирования словаря в рамках одного запроса.
Кэш не сохраняется между запросами. При достижении лимита записи вытесняются по алгоритму LRU.
Функция наиболее эффективна для больших словарей, когда входные данные имеют низкую кардинальность, а рабочий набор помещается в кэш. Установите 0, чтобы отключить кэширование.
Синтаксис
Аргументы
dict_name— имя словаря.Stringattr_name— атрибут для сравнения.Stringvalue_expr— значение для сравнения с атрибутом.Expression
Возвращаемое значение
Для словарей с одним ключом: массив ключей, атрибут которых равен value_expr. Для словарей с составным ключом: массив кортежей ключей, атрибут которых равен value_expr. Если в словаре нет атрибута, соответствующего значению value_expr, возвращается пустой массив. ClickHouse генерирует исключение, если не может разобрать значение атрибута или если значение не может быть преобразовано к типу данных атрибута.
Примеры
Пример использования
dictGetOrDefault
Добавлена в версии v18.16
Извлекает значения из словаря, возвращая значение по умолчанию, если ключ не найден.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_names— Имя столбца словаря или кортеж имён столбцов.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее UInt64/Tuple(T).UInt64илиTuple(T)default_value— Значение по умолчанию, которое возвращается, если ключ не найден. Тип должен соответствовать типу данных атрибута.
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr, если ключ найден.
Если ключ не найден, возвращает переданное значение default_value.
Примеры
Получение значения с заданным значением по умолчанию
dictGetOrNull
Появилась в версии: v21.4
Извлекает значения из словаря, возвращая NULL, если ключ не найден.
Синтаксис
Аргументы
dict_name— Имя словаря. Строковый литерал. -attr_name— Имя столбца, значение которого нужно получить. Строковый литерал. -id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря.
Возвращаемое значение
Возвращает значение атрибута словаря, соответствующее id_expr, если ключ найден.
Если ключ не найден, возвращает NULL.
Примеры
Пример с использованием словаря с диапазонным ключом
dictGetString
Добавлена в версии: v1.1
Преобразует значение атрибута словаря в тип данных String независимо от конфигурации словаря.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, соответствующее id_expr,
в противном случае возвращает содержимое элемента <null_value>, указанного для атрибута в конфигурации словаря.
ClickHouse генерирует исключение, если не может разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetStringOrDefault
Введена в версии: v1.1
Преобразует значение атрибута словаря к типу данных String независимо от конфигурации словаря или возвращает указанное значение по умолчанию, если ключ не найден.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или значение типа кортежа (в зависимости от конфигурации словаря).ExpressionилиTuple(T)default_value_expr— Значение (или значения), возвращаемое, если в словаре нет строки с ключомid_expr.ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
в противном случае возвращает значение, переданное в параметре default_value_expr.
ClickHouse выбрасывает исключение, если не может разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetUInt16
Впервые появилась в версии v1.1
Преобразует значение атрибута словаря к типу данных UInt16 независимо от конфигурации словаря.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или значение кортежа (в зависимости от конфигурации словаря).ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
в противном случае возвращает содержимое элемента <null_value>, указанного для атрибута в конфигурации словаря.
ClickHouse выбрасывает исключение, если не может разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetUInt16OrDefault
Впервые появилась в: v1.1
Преобразует значение атрибута словаря в тип данных UInt16 независимо от конфигурации словаря либо возвращает указанное значение по умолчанию, если ключ не найден.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или значение-кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)default_value_expr— Значение или значения, возвращаемые, если словарь не содержит строку с ключомid_expr.ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует значению id_expr,
в противном случае возвращает значение, переданное в параметре default_value_expr.
ClickHouse выбрасывает исключение, если не может разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetUInt32
Добавлена в версии: v1.1
Преобразует значение атрибута словаря к типу данных UInt32 независимо от конфигурации словаря.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или значение кортежа (в зависимости от конфигурации словаря).ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
иначе возвращает содержимое элемента <null_value>, указанного для атрибута в конфигурации словаря.
ClickHouse выбрасывает исключение, если не может распознать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetUInt32OrDefault
Добавлено в версии: v1.1
Преобразует значение атрибута словаря в тип данных UInt32 вне зависимости от конфигурации словаря или возвращает указанное значение по умолчанию, если ключ не найден.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или кортеж значений (в зависимости от конфигурации словаря).ExpressionилиTuple(T)default_value_expr— Значение (значения), возвращаемое, если в словаре нет строки с ключомid_expr.ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
в противном случае возвращает значение, переданное в параметре default_value_expr.
ClickHouse выбрасывает исключение, если не может проанализировать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetUInt64
Впервые представлена в версии v1.1
Преобразует значение атрибута словаря к типу данных UInt64 независимо от конфигурации словаря.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
в противном случае — содержимое элемента <null_value>, указанного для атрибута в конфигурации словаря.
ClickHouse выбрасывает исключение, если не может интерпретировать значение атрибута или значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetUInt64OrDefault
Добавлена в версии v1.1
Преобразует значение атрибута словаря к типу данных UInt64 независимо от конфигурации словаря или возвращает указанное значение по умолчанию, если ключ не найден.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение типа ключа словаря или кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)default_value_expr— Значение (значения), возвращаемое, если словарь не содержит строку с ключомid_expr.ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, соответствующее id_expr,
в противном случае — значение, переданное в параметре default_value_expr.
ClickHouse генерирует исключение, если не может интерпретировать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetUInt8
Добавлена в версии v1.1
Преобразует значение атрибута словаря к типу данных UInt8 независимо от конфигурации словаря.
Синтаксис
Параметры
dict_name— имя словаря.Stringattr_name— имя столбца словаря.StringилиTuple(String)id_expr— значение ключа. Выражение, возвращающее значение типа ключа словаря или кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
в противном случае — содержимое элемента <null_value>, указанного для атрибута в конфигурации словаря.
ClickHouse генерирует исключение, если не может распарсить значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetUInt8OrDefault
Добавлена в версии v1.1
Преобразует значение атрибута словаря к типу данных UInt8 независимо от конфигурации словаря или возвращает указанное значение по умолчанию, если ключ не найден.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, которое возвращает значение типа ключа словаря или кортеж значений (в зависимости от конфигурации словаря).ExpressionилиTuple(T)default_value_expr— Значение или кортеж значений, возвращаемые, если словарь не содержит строки с ключомid_expr.ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
в противном случае возвращает значение, переданное в параметре default_value_expr.
ClickHouse возбуждает исключение, если не может разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetUUID
Появилось в версии: v1.1
Преобразует значение атрибута словаря в тип данных UUID независимо от конфигурации словаря.
Синтаксис
Аргументы
dict_name— имя словаря.Stringattr_name— имя столбца словаря.StringилиTuple(String)id_expr— значение ключа. Выражение, возвращающее значение типа ключа словаря или кортеж (в зависимости от конфигурации словаря).ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
в противном случае возвращает содержимое элемента <null_value>, указанного для этого атрибута в конфигурации словаря.
ClickHouse выбрасывает исключение, если не может разобрать значение атрибута или если значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictGetUUIDOrDefault
Появилась в версии: v1.1
Преобразует значение атрибута словаря к типу данных UUID независимо от конфигурации словаря или возвращает указанное значение по умолчанию, если ключ не найден.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringattr_name— Имя столбца словаря.StringилиTuple(String)id_expr— Значение ключа. Выражение, возвращающее значение ключевого типа словаря или кортеж значений (в зависимости от конфигурации словаря).ExpressionилиTuple(T)default_value_expr— Значение (значения), возвращаемое, если словарь не содержит строки с ключомid_expr.ExpressionилиTuple(T)
Возвращаемое значение
Возвращает значение атрибута словаря, которое соответствует id_expr,
в противном случае возвращает значение, переданное в параметр default_value_expr.
ClickHouse выбрасывает исключение, если не может разобрать значение атрибута или значение не соответствует типу данных атрибута.
Примеры
Пример использования
dictHas
Добавлена в версии: v1.1
Проверяет, существует ли ключ в словаре.
Синтаксис
Аргументы
dict_name— Имя словаря.Stringid_expr— Значение ключа.const String
Возвращаемое значение
Возвращает 1, если ключ существует, иначе 0. UInt8
Примеры
Проверка существования ключа в словаре
dictIsIn
Появилась в версии: v1.1
Проверяет наличие предка ключа по всей иерархической цепочке в словаре.
Синтаксис
Аргументы
dict_name— имя словаря.Stringchild_id_expr— ключ, подлежащий проверке.Stringancestor_id_expr— предполагаемый предок ключаchild_id_expr.const String
Возвращаемое значение
Возвращает 0, если child_id_expr не является потомком ancestor_id_expr, и 1, если child_id_expr является потомком ancestor_id_expr или если child_id_expr равен ancestor_id_expr. UInt8
Примеры
Проверка иерархического отношения