2017-10-25 05:27:09 +00:00
< a name = "ext_dict_functions" > < / a >
2017-07-31 08:31:30 +00:00
2017-12-11 12:07:26 +00:00
# Функции для работы с внешними словарями
2017-03-12 17:58:51 +00:00
2017-11-17 14:12:34 +00:00
Информация о подключении и настройке внешних словарей смотрите в разделе "[Внешние словари](../dicts/external_dicts.md#dicts-external_dicts)".
2017-03-12 17:58:51 +00:00
2017-12-11 12:07:26 +00:00
## dictGetUInt8, dictGetUInt16, dictGetUInt32, dictGetUInt64
2017-03-12 17:58:51 +00:00
2017-12-11 12:07:26 +00:00
## dictGetInt8, dictGetInt16, dictGetInt32, dictGetInt64
2017-03-12 17:58:51 +00:00
2017-12-11 12:07:26 +00:00
## dictGetFloat32, dictGetFloat64
2017-03-12 17:58:51 +00:00
2017-12-11 12:07:26 +00:00
## dictGetDate, dictGetDateTime
2017-10-25 05:27:09 +00:00
2017-12-11 12:07:26 +00:00
## dictGetUUID
2017-11-14 00:08:54 +00:00
2017-12-11 12:07:26 +00:00
## dictGetString
2017-10-25 05:27:09 +00:00
`dictGetT('dict_name', 'attr_name', id)`
2017-03-12 17:58:51 +00:00
- получить из словаря dict_name значение атрибута attr_name по ключу id.
2017-10-25 05:27:09 +00:00
`dict_name` и `attr_name` - константные строки.
`id` должен иметь тип UInt64.
Если ключа `id` нет в словаре - вернуть значение по умолчанию, заданное в описании словаря.
2017-03-12 17:58:51 +00:00
2017-12-11 12:07:26 +00:00
## dictGetTOrDefault
2018-01-19 14:36:40 +00:00
2017-10-25 05:27:09 +00:00
`dictGetT('dict_name', 'attr_name', id, default)`
2018-01-19 14:36:40 +00:00
Аналогично функциям `dictGetT` , но значение по умолчанию берётся из последнего аргумента функции.
2017-03-12 17:58:51 +00:00
2017-12-11 12:07:26 +00:00
## dictIsIn
2017-10-25 05:27:09 +00:00
`dictIsIn('dict_name', child_id, ancestor_id)`
2017-03-12 17:58:51 +00:00
- для иерархического словаря dict_name - узнать, находится ли ключ child_id внутри ancestor_id (или совпадает с ancestor_id). Возвращает UInt8.
2017-12-11 12:07:26 +00:00
## dictGetHierarchy
2017-10-25 05:27:09 +00:00
`dictGetHierarchy('dict_name', id)`
2017-03-12 17:58:51 +00:00
- для иерархического словаря dict_name - вернуть массив ключей словаря, начиная с id и продолжая цепочкой родительских элементов. Возвращает Array(UInt64).
2017-12-11 12:07:26 +00:00
## dictHas
2017-10-25 05:27:09 +00:00
`dictHas('dict_name', id)`
2017-03-12 17:58:51 +00:00
- проверить наличие ключа в словаре. Возвращает значение типа UInt8, равное 0, если ключа нет и 1, если ключ есть.
2018-10-16 10:47:17 +00:00
[Оригинальная статья ](https://clickhouse.yandex/docs/ru/query_language/functions/ext_dict_functions/ ) <!--hide-->