Para los diccionarios creados mediante consultas DDL, el parámetro
dict_name debe especificarse por completo, como <database>.<dict_name>. De lo contrario, se usa la base de datos actual.Diccionarios de ejemplo
Los ejemplos de esta sección usan los siguientes diccionarios. Puede crearlos en ClickHouse para ejecutar los ejemplos de las funciones que se describen a continuación.Diccionario de ejemplo para las funciones dictGet<T> y dictGet<T>OrDefault
Diccionario de ejemplo para las funciones dictGet<T> y dictGet<T>OrDefault
Diccionario de ejemplo para dictGetAll
Diccionario de ejemplo para dictGetAll
Cree una tabla para almacenar los datos del diccionario regexp tree:Inserte datos en la tabla:Cree el diccionario regexp tree:
Ejemplo de diccionario con clave de rango
Ejemplo de diccionario con clave de rango
Cree la tabla de entrada:Inserte los datos en la tabla de entrada:Cree el diccionario:
Ejemplo de diccionario con clave compleja
Ejemplo de diccionario con clave compleja
Cree la tabla de origen:Inserte los datos en la tabla de origen:Cree el diccionario:
Ejemplo de diccionario jerárquico
Ejemplo de diccionario jerárquico
Cree la tabla de origen:Inserte los datos en la tabla de origen:Cree el diccionario:
Pasar claves a las funciones de diccionario
El argumento de clave (id_expr) de funciones como dictGet, dictGetOrDefault, dictGetOrNull y dictHas depende de la clave del diccionario:
- Para un diccionario con una clave simple (
UInt64), pase directamente el valor de la clave:
- Para un diccionario con una clave compuesta (compleja) de más de un atributo, pase los valores de la clave como una tupla:
- Cuando la clave compuesta consta de un único atributo, el valor de la clave puede pasarse directamente, sin envolverlo en
tuple. Ambos ejemplos siguientes son válidos y equivalentes:
ip_trie, cuya clave es un único atributo. La dirección IP que se va a consultar puede pasarse directamente:
dictGet
Introducido en: v18.16.0 Obtiene valores de un diccionario.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_names— Nombre de la columna del diccionario o tupla de nombres de columnas.StringoTuple(String)id_expr— Valor de la clave. Para un diccionario con una clave simple, una expresión que devuelve un valorUInt64. Para un diccionario con una clave compuesta (compleja), una expresión que devuelve una tupla con los valores de la clave. Si la clave compuesta consta de un único atributo, su valor puede pasarse directamente, sin envolverlo entuple.UInt64oTuple(T)
<null_value> especificado para el atributo en la configuración del diccionario.
Ejemplos
Obtener un único atributo
Query
Response
Query
Response
dictGetAll
Introducido en: v23.5.0 Recupera los valores de los atributos de todos los nodos que coincidieron con cada clave en un diccionario regexp tree. Además de devolver valores del tipoArray(T) en lugar de T, esta función se comporta de manera similar a dictGet.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_names— Nombre de la columna del diccionario o tupla de nombres de columnas.StringoTuple(String)id_expr— Valor de la clave. Una expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)limit— Opcional. Longitud máxima de cada array de valores devuelto. Al truncar, los nodos hijo tienen prioridad sobre los nodos padre; en caso contrario, se respeta el orden de lista definido para el diccionario regexp tree. Si no se especifica, la longitud del array es ilimitada.UInt*
id_expr para cada atributo especificado en attr_names.
Si no hay ninguna clave correspondiente a id_expr en el diccionario, se devuelve un array vacío.
ClickHouse lanza una excepción si no puede analizar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Array(T)
Ejemplos
Ejemplo de uso
Query
Response
dictGetChildren
Introducido en: v21.4.0 Devuelve los hijos de primer nivel como un array de índices. Es la transformación inversa de dictGetHierarchy.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringkey— Clave que se va a comprobar.const String
Array(UInt64)
Ejemplos
Obtener los hijos de primer nivel de un diccionario
Query
Response
dictGetDate
Introducido en: v1.1.0 Convierte el valor de un atributo del diccionario al tipo de datoDate, independientemente de la configuración del diccionario.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Una expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)
id_expr;
en caso contrario, devuelve el contenido del elemento <null_value> especificado para el atributo en la configuración del diccionario.
ClickHouse lanza una excepción si no puede analizar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetDateOrDefault
Introducido en: v1.1.0 Convierte el valor de un atributo del diccionario al tipo de datoDate, independientemente de la configuración del diccionario, o devuelve el valor predeterminado proporcionado si no se encuentra la clave.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)default_value_expr— Valor o valores que se devuelven si el diccionario no contiene una fila con la claveid_expr.ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el valor pasado en el parámetro default_value_expr.
ClickHouse lanza una excepción si no puede analizar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetDateTime
Introducido en: v1.1.0 Convierte el valor de un atributo del diccionario al tipo de datoDateTime, independientemente de la configuración del diccionario.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Una expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el contenido del elemento <null_value> especificado para el atributo en la configuración del diccionario.
ClickHouse lanza una excepción si no puede analizar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetDateTimeOrDefault
Introducido en: v1.1.0 Convierte el valor de un atributo del diccionario al tipo de datoDateTime, independientemente de la configuración del diccionario, o devuelve el valor predeterminado proporcionado si no se encuentra la clave.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)default_value_expr— Valor(es) que se devuelve(n) si el diccionario no contiene una fila con la claveid_expr.ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el valor proporcionado en el parámetro default_value_expr.
ClickHouse lanza una excepción si no puede analizar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetDescendants
Introducido en: v21.4.0 Devuelve todos los descendientes como si la funcióndictGetChildren se aplicara recursivamente level veces.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringkey— Clave que se va a comprobar.const Stringlevel— Nivel de jerarquía de la clave que se va a comprobar. Silevel = 0, devuelve todos los descendientes hasta el final.UInt8
Array(UInt64)
Ejemplos
Obtener los hijos de primer nivel de un diccionario
Query
Response
dictGetFloat32
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoFloat32, independientemente de la configuración del diccionario.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Una expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el contenido del elemento <null_value> especificado para el atributo en la configuración del diccionario.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetFloat32OrDefault
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoFloat32, independientemente de la configuración del diccionario, o devuelve el valor predeterminado proporcionado si no se encuentra la clave.
Esta función no es determinista: puede devolver resultados diferentes con los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)default_value_expr— Valor o valores que se devuelven si el diccionario no contiene una fila con la claveid_expr.ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el valor proporcionado como parámetro default_value_expr.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetFloat64
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoFloat64, independientemente de la configuración del diccionario.
Esta función no es determinista: puede devolver resultados distintos para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Una expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el contenido del elemento <null_value> especificado para el atributo en la configuración del diccionario.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetFloat64OrDefault
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoFloat64, independientemente de la configuración del diccionario, o devuelve el valor predeterminado proporcionado si no se encuentra la clave.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)default_value_expr— Valor o valores devueltos si el diccionario no contiene una fila con la claveid_expr.ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el valor proporcionado en el parámetro default_value_expr.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetHierarchy
Introducido en: v1.1.0 Crea un array que contiene todos los ancestros de una clave en el diccionario jerárquico.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringkey— Valor de la clave.const String
Array(UInt64)
Ejemplos
Obtener la jerarquía para una clave
Query
Response
dictGetIPv4
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoIPv4, independientemente de la configuración del diccionario.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Una expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el contenido del elemento <null_value> especificado para el atributo en la configuración del diccionario.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetIPv4OrDefault
Introducido en: v23.1.0 Convierte el valor de un atributo de diccionario al tipo de datoIPv4, independientemente de la configuración del diccionario, o devuelve el valor predeterminado proporcionado si no se encuentra la clave.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)default_value_expr— Valor o valores devueltos si el diccionario no contiene una fila con la claveid_expr.ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el valor pasado en el parámetro default_value_expr.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetIPv6
Introducido en: v23.1.0 Convierte el valor de un atributo de diccionario al tipo de datoIPv6, independientemente de la configuración del diccionario.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Una expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)
id_expr,
en caso contrario, devuelve el contenido del elemento <null_value> especificado para el atributo en la configuración del diccionario.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetIPv6OrDefault
Introducido en: v23.1.0 Convierte el valor de un atributo de diccionario al tipo de datoIPv6, independientemente de la configuración del diccionario, o devuelve el valor predeterminado proporcionado si no se encuentra la clave.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)default_value_expr— Valor o valores devueltos si el diccionario no contiene una fila con la claveid_expr.ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el valor pasado como parámetro default_value_expr.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetInt16
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoInt16, independientemente de la configuración del diccionario.
Esta función no es determinista: puede devolver resultados distintos para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Una expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el contenido del elemento <null_value> especificado para el atributo en la configuración del diccionario.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetInt16OrDefault
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoInt16, independientemente de la configuración del diccionario, o devuelve el valor predeterminado proporcionado si no se encuentra la clave.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)default_value_expr— Valor o valores devueltos si el diccionario no contiene una fila con la claveid_expr.ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el valor proporcionado en el parámetro default_value_expr.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si este no coincide con el tipo de dato del atributo.
Query
Response
dictGetInt32
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoInt32, independientemente de la configuración del diccionario.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Una expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)
id_expr;
en caso contrario, devuelve el contenido del elemento <null_value> especificado para el atributo en la configuración del diccionario.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetInt32OrDefault
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoInt32, independientemente de la configuración del diccionario, o devuelve el valor predeterminado proporcionado si no se encuentra la clave.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)default_value_expr— Valor o valores devueltos si el diccionario no contiene una fila con la claveid_expr.ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el valor pasado como parámetro default_value_expr.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetInt64
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoInt64, independientemente de la configuración del diccionario.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el contenido del elemento <null_value> especificado para el atributo en la configuración del diccionario.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetInt64OrDefault
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoInt64, independientemente de la configuración del diccionario, o devuelve el valor predeterminado proporcionado si no se encuentra la clave.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)default_value_expr— Valor o valores devueltos si el diccionario no contiene una fila con la claveid_expr.ExpressionoTuple(T)
id_expr;
en caso contrario, devuelve el valor pasado como parámetro default_value_expr.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetInt8
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoInt8, independientemente de la configuración del diccionario.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Una expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el contenido del elemento <null_value> especificado para ese atributo en la configuración del diccionario.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetInt8OrDefault
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoInt8, independientemente de la configuración del diccionario, o devuelve el valor predeterminado proporcionado si no se encuentra la clave.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)default_value_expr— Valor o valores devueltos si el diccionario no contiene una fila con la claveid_expr.ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el valor pasado como parámetro default_value_expr.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetKeys
Introducido en: v25.12.0 Devuelve la(s) clave(s) del diccionario cuyo atributo coincide con el valor especificado. Es la inversa de la funcióndictGet para un único atributo.
Use la configuración max_reverse_dictionary_lookup_cache_size_bytes para limitar el tamaño de la caché de búsqueda inversa por consulta que utiliza dictGetKeys.
La caché almacena tuplas de claves serializadas para cada valor de atributo, a fin de evitar volver a recorrer el diccionario dentro de la misma consulta.
La caché no es persistente entre consultas. Cuando se alcanza el límite, las entradas se eliminan mediante LRU.
Esto resulta más eficaz con diccionarios grandes cuando la entrada tiene baja cardinalidad y el conjunto de trabajo cabe en la caché. Establézcalo en 0 para desactivar la caché.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Atributo con el que debe coincidir.Stringvalue_expr— Valor que debe coincidir con el atributo.Expression
value_expr. Para diccionarios de varias claves: un array de tuplas de claves cuyo atributo es igual a value_expr. Si no hay ningún atributo correspondiente a value_expr en el diccionario, se devuelve un array vacío. ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no puede convertirse al tipo de dato del atributo.
Ejemplos
Uso de ejemplo
Query
Response
dictGetOrDefault
Introducido en: v18.16.0 Obtiene valores de un diccionario y devuelve un valor predeterminado si no se encuentra la clave.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_names— Nombre de la columna del diccionario o tupla de nombres de columna.StringoTuple(String)id_expr— Valor de la clave. Para un diccionario con una clave simple, una expresión que devuelve un valorUInt64. Para un diccionario con una clave compuesta (compleja), una expresión que devuelve una tupla con los valores de la clave. Si la clave compuesta consta de un solo atributo, su valor puede pasarse directamente, sin envolverlo entuple.UInt64oTuple(T)default_value— Valor predeterminado que se devuelve si no se encuentra la clave. El tipo debe coincidir con el tipo de dato del atributo.
id_expr si se encuentra la clave.
Si no se encuentra la clave, devuelve el default_value proporcionado.
Ejemplos
Obtener un valor con valor predeterminado
Query
Response
dictGetOrNull
Introducido en: v21.4.0 Obtiene valores de un diccionario y devuelve NULL si la clave no se encuentra.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario. Literal de cadena. -attr_name— Nombre de la columna que se quiere obtener. Literal de cadena. -id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario.
id_expr si se encuentra la clave.
Si no se encuentra la clave, devuelve NULL.
Ejemplos
Ejemplo con el diccionario con clave de rango
Query
Response
dictGetRoot
Introducido en: v26.7.0 Devuelve el ancestro superior (la raíz) de una clave en un diccionario jerárquico. Es un equivalente práctico de tomar el último elemento del array que devuelve dictGetHierarchy, es decir,dictGetHierarchy(dict_name, key)[-1].
Si la clave es un nodo de nivel superior de la jerarquía, se devuelve la propia clave. Si la clave no está presente en el diccionario, se devuelve 0.
Esta función es no determinista: puede devolver resultados diferentes para los mismos argumentos.
UInt64
Ejemplos
Obtener la raíz de una clave
Query
Response
dictGetString
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoString, independientemente de la configuración del diccionario.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Una expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el contenido del elemento <null_value> especificado para el atributo en la configuración del diccionario.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetStringOrDefault
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoString, independientemente de la configuración del diccionario, o devuelve el valor predeterminado proporcionado si no se encuentra la clave.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)default_value_expr— Valor o valores devueltos si el diccionario no contiene una fila con la claveid_expr.ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el valor pasado en el parámetro default_value_expr.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetUInt16
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoUInt16, independientemente de la configuración del diccionario.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Una expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el contenido del elemento <null_value> especificado para el atributo en la configuración del diccionario.
ClickHouse lanza una excepción si no puede interpretar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetUInt16OrDefault
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoUInt16, independientemente de la configuración del diccionario, o devuelve el valor predeterminado proporcionado si no se encuentra la clave.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)default_value_expr— Valor o valores devueltos si el diccionario no contiene una fila con la claveid_expr.ExpressionoTuple(T)
id_expr;
en caso contrario, devuelve el valor pasado como parámetro default_value_expr.
ClickHouse lanza una excepción si no puede analizar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetUInt32
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoUInt32, independientemente de la configuración del diccionario.
Esta función es no determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Una expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el contenido del elemento <null_value> especificado para el atributo en la configuración del diccionario.
ClickHouse lanza una excepción si no puede analizar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetUInt32OrDefault
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoUInt32, independientemente de la configuración del diccionario, o devuelve el valor predeterminado proporcionado si no se encuentra la clave.
Esta función es no determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)default_value_expr— Valor o valores que se devuelven si el diccionario no contiene una fila con la claveid_expr.ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el valor pasado en el parámetro default_value_expr.
ClickHouse lanza una excepción si no puede analizar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetUInt64
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoUInt64, independientemente de la configuración del diccionario.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Una expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el contenido del elemento <null_value> especificado para el atributo en la configuración del diccionario.
ClickHouse lanza una excepción si no puede analizar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetUInt64OrDefault
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoUInt64, independientemente de la configuración del diccionario, o devuelve el valor predeterminado indicado si no se encuentra la clave.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)default_value_expr— Valor o valores que se devuelven si el diccionario no contiene una fila con la claveid_expr.ExpressionoTuple(T)
id_expr,
en caso contrario, devuelve el valor pasado como parámetro default_value_expr.
ClickHouse lanza una excepción si no puede analizar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetUInt8
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoUInt8, independientemente de la configuración del diccionario.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Una expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)
id_expr;
en caso contrario, devuelve el contenido del elemento <null_value> especificado para el atributo en la configuración del diccionario.
ClickHouse lanza una excepción si no puede analizar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetUInt8OrDefault
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoUInt8, independientemente de la configuración del diccionario, o devuelve el valor predeterminado proporcionado si no se encuentra la clave.
Esta función es no determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)default_value_expr— Valor o valores devueltos si el diccionario no contiene una fila con la claveid_expr.ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el valor pasado en el parámetro default_value_expr.
ClickHouse lanza una excepción si no puede analizar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetUUID
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoUUID, independientemente de la configuración del diccionario.
Esta función es no determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Una expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el contenido del elemento <null_value> especificado para el atributo en la configuración del diccionario.
ClickHouse lanza una excepción si no puede analizar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictGetUUIDOrDefault
Introducido en: v1.1.0 Convierte el valor de un atributo de diccionario al tipo de datoUUID, independientemente de la configuración del diccionario, o devuelve el valor predeterminado proporcionado si no se encuentra la clave.
Esta función no es determinista: puede devolver resultados diferentes con los mismos argumentos.
dict_name— Nombre del diccionario.Stringattr_name— Nombre de la columna del diccionario.StringoTuple(String)id_expr— Valor de la clave. Expresión que devuelve un valor del tipo de clave del diccionario o un valor de tupla (según la configuración del diccionario).ExpressionoTuple(T)default_value_expr— Valor o valores que se devuelven si el diccionario no contiene una fila con la claveid_expr.ExpressionoTuple(T)
id_expr;
de lo contrario, devuelve el valor pasado en el parámetro default_value_expr.
ClickHouse lanza una excepción si no puede analizar el valor del atributo o si el valor no coincide con el tipo de dato del atributo.
Query
Response
dictHas
Introducido en: v1.1.0 Comprueba si una clave está presente en un diccionario.Esta función es no determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringid_expr— Valor de la claveconst String
1 si la clave existe; de lo contrario, 0. UInt8
Ejemplos
Comprobar si existe una clave en un diccionario
Query
Response
dictIsIn
Introducido en: v1.1.0 Comprueba el ancestro de una clave en toda la cadena jerárquica del diccionario.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
dict_name— Nombre del diccionario.Stringchild_id_expr— Clave que se debe comprobar.Stringancestor_id_expr— Supuesto ancestro de la clavechild_id_expr.const String
0 si child_id_expr no es hijo de ancestor_id_expr, y 1 si child_id_expr es hijo de ancestor_id_expr o si child_id_expr es igual a ancestor_id_expr. UInt8
Ejemplos
Comprobar la relación jerárquica
Query
Response