La documentación sobre funciones que aparece a continuación se genera a partir de la tabla del sistema
system.functions.FQDN
Introducido en: v20.1.0 Devuelve el nombre de dominio completamente cualificado del servidor de ClickHouse.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
fullHostName
Argumentos
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
MACNumToString
Introducido en: v1.1.0 Interpreta un númeroUInt64 como una dirección MAC en orden big-endian.
Devuelve la dirección MAC correspondiente en formato AA:BB:CC:DD:EE:FF (números en hexadecimal separados por dos puntos) como cadena.
Sintaxis
num— Número de tipo UInt64.UInt64
String
Ejemplos
Ejemplo de uso
Query
Response
MACStringToNum
Introducido en: v1.1.0 La función inversa de MACNumToString. Si la dirección MAC tiene un formato no válido, devuelve 0. Sintaxiss— Cadena con la dirección MAC.String
UInt64
Ejemplos
Ejemplo de uso
Query
Response
MACStringToOUI
Introducido en: v1.1.0 Dada una dirección MAC con el formato AA:BB:CC:DD:EE:FF (números hexadecimales separados por dos puntos), devuelve los tres primeros octetos como un número UInt64. Si la dirección MAC tiene un formato no válido, devuelve 0. Sintaxiss— Cadena con la dirección MAC.String
UInt64
Ejemplos
Ejemplo de uso
Query
Response
authenticatedUser
Introducido en: v25.11.0 Si el usuario de la sesión se ha cambiado con el comando EXECUTE AS, esta función devuelve el nombre del usuario original que se utilizó para autenticarse y crear la sesión. Alias: authUser()Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
authUser
Argumentos
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
bar
Introducido en: v1.1.0 Crea un gráfico de barras. Dibuja una banda con un ancho proporcional a (x - min) y de width caracteres cuando x = max. La banda se dibuja con una precisión de un octavo de carácter. Sintaxisx— Tamaño que se va a mostrar.(U)Int*oFloat*oDecimalmin— El valor mínimo.(U)Int*oFloat*oDecimalmax— El valor máximo.(U)Int*oFloat*oDecimalwidth— Opcional. El ancho de la barra en caracteres. El valor predeterminado es80.const (U)Int*oconst Float*oconst Decimal
String
Ejemplos
Ejemplo de uso
Query
Response
blockNumber
Introducido en: v1.1.0 Devuelve un número de secuencia del bloque que contiene la fila y que aumenta de forma monótona. El número de bloque devuelto se actualiza en la medida de lo posible; es decir, puede no ser totalmente preciso.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
UInt64
Ejemplos
Uso básico
Query
Response
blockSerializedSize
Introducido en: v20.3.0 Devuelve el tamaño sin comprimir, en bytes, de un bloque de valores almacenado en disco.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
x1[, x2, ...]— Cualquier cantidad de valores para los que se obtiene el tamaño sin comprimir del bloque.Any
UInt64
Ejemplos
Ejemplo de uso
Query
Response
blockSize
Introducido en: v1.1.0 En ClickHouse, las consultas se procesan en bloques (fragmentos). Esta función devuelve el tamaño (número de filas) del bloque sobre el que se invoca.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
UInt64
Ejemplos
Ejemplo de uso
Query
Response
buildId
Introducido en: v20.5.0 Devuelve el ID de compilación generado por un compilador para el binario en ejecución del servidor ClickHouse. Si se ejecuta en el contexto de una tabla distribuida, esta función genera una columna normal con valores correspondientes a cada segmento. De lo contrario, produce un valor constante.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
byteSize
Introducido en: v21.1.0 Devuelve una estimación del tamaño en bytes sin comprimir de sus argumentos en memoria. Para argumentos de tipoString, la función devuelve la longitud de la cadena + 8 (longitud).
Si la función tiene varios argumentos, acumula sus tamaños en bytes.
Sintaxis
arg1[, arg2, ...]— Valores de cualquier tipo de dato cuyo tamaño en bytes sin comprimir se desea estimar.Any
UInt64
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
colorOKLABToSRGB
Introducido en: v26.2.0 Convierte un color del espacio de color perceptivo OKLab al espacio de color sRGB. El color de entrada se especifica en el espacio de color OKLab. Si los valores de entrada quedan fuera de los rangos típicos de OKLab, el resultado depende de la implementación. OKLab usa tres componentes:- L: luminosidad perceptiva (normalmente en el rango [0..1])
- a: eje oponente verde-rojo
- b: eje oponente azul-amarillo
- Conversión de OKLab a sRGB lineal.
- Conversión de sRGB lineal a sRGB codificado con gamma.
tuple— Una tupla de tres valores numéricosL,a,b, dondeLestá dentro del rango[0...1].Tuple(Float64, Float64, Float64)gamma— Opcional. El exponente que se utiliza para transformar sRGB lineal de nuevo a sRGB aplicando(x ^ (1 / gamma)) * 255a cada canalx. El valor predeterminado es2.2.Float64
Tuple(Float64, Float64, Float64)
Ejemplos
Convertir OKLAB a sRGB (Float)
Query
Response
Query
Response
colorOKLCHToSRGB
Introducido en: v25.7.0 Convierte un color del espacio de color perceptualmente uniforme OKLCH al conocido espacio de color sRGB. SiL está fuera del rango [0...1], C es negativo o H está fuera del rango [0...360], el resultado depende de la implementación.
OKLCH es una versión cilíndrica del espacio de color OKLab.
Sus tres coordenadas son
L (la luminosidad en el rango [0...1]), C (croma >= 0) y H (tono en grados dentro de [0...360]).
OKLab/OKLCH está diseñado para ser perceptualmente uniforme y seguir siendo barato de calcular.colorSRGBToOKLCH:
- OKLCH a OKLab.
- OKLab a sRGB lineal
- sRGB lineal a sRGB
tuple— Una tupla de tres valores numéricosL,C,H, dondeLestá en el intervalo[0...1],C >= 0yHestá en el intervalo[0...360].Tuple(Float64, Float64, Float64)gamma— Opcional. El exponente que se utiliza para convertir sRGB lineal de nuevo a sRGB aplicando(x ^ (1 / gamma)) * 255a cada canalx. El valor predeterminado es2.2.Float64
Tuple(Float64, Float64, Float64)
Ejemplos
Convertir OKLCH a sRGB
Query
Response
Query
Response
colorSRGBToOKLAB
Introducido en: v26.2.0 Convierte un color codificado en el espacio de color sRGB al espacio de color OKLAB, que es perceptualmente uniforme. Si algún canal de entrada está fuera de[0...255] o el valor de gamma no es positivo, el comportamiento depende de la implementación.
OKLAB es un espacio de color perceptualmente uniforme.
Sus tres coordenadas son
L (la luminosidad en el intervalo [0...1]), a (eje verde-rojo) y b (eje azul-amarillo).
OKLab está diseñado para ser perceptualmente uniforme y, al mismo tiempo, ser poco costoso de calcular.- sRGB a sRGB lineal
- sRGB lineal a OKLab
tuple— Tupla de tres valores R, G y B en el rango[0...255].Tuple(UInt8, UInt8, UInt8)gamma— Opcional. Exponente que se usa para linealizar sRGB al aplicar(x / 255)^gammaa cada canalx. El valor predeterminado es2.2.Float64
(L, a, b) que representa los valores del espacio de color OKLAB. Tuple(Float64, Float64, Float64)
Ejemplos
Convertir sRGB a OKLAB
Query
Response
colorSRGBToOKLCH
Introducido en: v25.7.0 Convierte un color codificado en el espacio de color sRGB al espacio de color OKLCH, perceptualmente uniforme. Si algún canal de entrada está fuera de[0...255] o el valor gamma no es positivo, el comportamiento depende de la implementación.
OKLCH es una versión cilíndrica del espacio de color OKLab.
Sus tres coordenadas son
L (la luminosidad en el intervalo [0...1]), C (croma >= 0) y H (el tono en grados dentro de [0...360]).
OKLab/OKLCH está diseñado para ser perceptualmente uniforme y, al mismo tiempo, tener un coste de cálculo bajo.- sRGB a sRGB lineal
- sRGB lineal a OKLab
- OKLab a OKLCH.
tuple— Tupla de tres valores R, G, B en el intervalo[0...255].Tuple(UInt8, UInt8, UInt8)gamma— Opcional. Exponente que se usa para linealizar sRGB aplicando(x / 255)^gammaa cada canalx. El valor predeterminado es2.2.Float64
Tuple(Float64, Float64, Float64)
Ejemplos
Convertir sRGB a OKLCH
Query
Response
connectionId
Introducido en: v21.3.0 Devuelve el ID de la conexión del cliente que envió la consulta actual. Esta función resulta especialmente útil en tareas de depuración. Se creó para mantener la compatibilidad con la funciónCONNECTION_ID de MySQL.
No suele utilizarse en consultas de producción.
Esta función no es determinista: puede devolver resultados distintos con los mismos argumentos.
- Ninguno.
UInt64
Ejemplos
Ejemplo de uso
Query
Response
countDigits
Introducido en: v20.8.0 Devuelve la cantidad de dígitos decimales necesarios para representar un valor.Esta función tiene en cuenta las escalas de los valores decimales; es decir, calcula el resultado sobre el tipo entero subyacente, que es
(value * scale).Por ejemplo:countDigits(42) = 2countDigits(42.000) = 5countDigits(0.04200) = 4
x. UInt8
Ejemplos
Ejemplo de uso
Query
Response
currentDatabase
Introducido en: v1.1.0 Devuelve el nombre de la base de datos actual. Es útil en los parámetros del motor de tabla de las sentenciasCREATE TABLE en las que necesitas especificar la base de datos.
Consulta también la sentencia SET.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
current_database, DATABASE, SCHEMA
Argumentos
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
currentHandler
Introducida en: v26.6.0 Devuelve el nombre del handler HTTP definido en SQL (creado conCREATE HANDLER) que invocó la consulta.
Devuelve una cadena vacía si la consulta no se invocó mediante dicho handler.
Resulta útil para personalizar el comportamiento de la consulta según el handler invocado.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
currentProfiles
Introducido en: v21.9.0 Devuelve un array con los perfiles de configuración del usuario actual.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
currentQueryID
Introducido en: v25.2.0 Devuelve el id de consulta actual.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
current_query_id
Argumentos
- Ninguno.
Query
Response
currentRequestURL
Introducido en: v26.6.0 Devuelve la URL de la solicitud HTTP (la ruta y la cadena de consulta) que invocó la consulta. Devuelve una cadena vacía si la consulta no se invocó mediante HTTP. Resulta útil, en combinación con handlers HTTP definidos en SQL (CREATE HANDLER), para extraer parámetros
incluidos en la ruta de la solicitud.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
currentRoles
Introducido en: v21.9.0 Devuelve un array con los roles asignados al usuario actual.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
currentSchemas
Introducido en: v23.7.0 Igual que la funcióncurrentDatabase, pero
- acepta un argumento booleano que se ignora
- devuelve el nombre de la base de datos como un array con un único valor.
currentSchemas solo existe por compatibilidad con PostgreSQL.
Use currentDatabase en su lugar.
Consulte también la sentencia SET.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
current_schemas
Argumentos
bool— Un valor booleano que se ignora.Bool
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
currentUser
Introducido en: v20.1.0 Devuelve el nombre del usuario actual. En el caso de una consulta distribuida, se devuelve el nombre del usuario que inició la consulta.Esta función no es determinista: puede devolver resultados diferentes con los mismos argumentos.
session_user, current_user, user
Argumentos
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
defaultProfiles
Introducido en: v21.9.0 Devuelve un array con los nombres de los perfiles de configuración predeterminados del usuario actual.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
defaultRoles
Introducido en: v21.9.0 Devuelve un array de roles predeterminados para el usuario actual.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
defaultValueOfArgumentType
Introducido en: v1.1.0 Devuelve el valor predeterminado de un tipo de dato determinado. No incluye los valores predeterminados de las columnas personalizadas definidas por el usuario. Sintaxisexpression— Un valor de tipo arbitrario o una expresión cuyo resultado es un valor de tipo arbitrario.Any
0 para números, una cadena vacía para cadenas o NULL para tipos Nullable. UInt8 o String o NULL
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
defaultValueOfTypeName
Introducido en: v1.1.0 Devuelve el valor predeterminado del nombre de tipo especificado. Sintaxistype— Una cadena que representa un nombre de tipo.String
0 para números, una cadena vacía para cadenas, o NULL para Nullable UInt8 o String o NULL
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
digits
Introducido en: v26.7.0 Devuelve los dígitos de un númeron a partir del offset especificado.
El recuento comienza en 1 con la siguiente lógica:
- Si
offsetes0, se genera una excepción, ya queoffsetestá basado en 1. - Si
offsetes negativo, el recuento comienzaoffsetdígitos desde el final del número, en lugar de desde el principio. - Si
offsetes mayor que el número de dígitos den, se devuelve0.
length sigue la siguiente lógica:
- Si
lengthes positivo, indica la cantidad de dígitos que se toman desdeoffset - Si
lengthes negativo, indica la cantidad de dígitos que se excluyen desde la derecha del número
substring, que realiza la operación análoga sobre cadenas.
Sintaxis
n— El número a partir del cual se calculan los dígitos.(U)Int8o(U)Int16o(U)Int32o(U)Int64offset— La posición inicial del dígito enn.(U)Int8o(U)Int16o(U)Int32o(U)Int64length— Opcional. La longitud máxima de los dígitos.(U)Int8o(U)Int16o(U)Int32o(U)Int64
n, interpretados como un UInt64. Devuelve 0 si el rango seleccionado está vacío. Los ceros a la izquierda no se conservan. UInt64
Ejemplos
Desplazamiento positivo
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
displayName
Introducido en: v22.11.0 Devuelve el valor dedisplay_name de configuración o el nombre de dominio completo (FQDN) del servidor si no está configurado.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
display_name de la configuración o el FQDN del servidor si no está definido. String
Ejemplos
Ejemplo de uso
Query
Response
dumpColumnStructure
Introducido en: v1.1.0 Muestra una descripción detallada de la estructura interna de una columna y de su tipo de dato.Esta función no es determinista: puede devolver resultados distintos para los mismos argumentos.
x— Valor cuya descripción se quiere obtener.Any
String
Ejemplos
Ejemplo de uso
Query
Response
enabledProfiles
Introducido en: v21.9.0 Devuelve un array de nombres de perfiles de configuración habilitados para el usuario actual.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
enabledRoles
Introducido en: v21.9.0 Devuelve un array con los roles habilitados para el usuario actual.Esta función no es determinista: puede devolver resultados distintos para los mismos argumentos.
- Ninguno.
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
errorCodeToName
Introducido en: v20.12.0 Devuelve el nombre en texto de un código de error numérico de ClickHouse. La correspondencia entre los códigos de error numéricos y sus nombres está disponible aquí. Sintaxiserror_code. String
Ejemplos
Ejemplo de uso
Query
Response
file
Introducido en: v21.3.0 Lee un archivo como una cadena y carga los datos en la columna especificada. El contenido del archivo no se interpreta. Consulte también la función de tablafile.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
path— La ruta del archivo relativa auser_files_path. Admite comodines*,**,?,{abc,def}y{N..M}, dondeNyMson números y'abc'y'def'son cadenas.Stringdefault— El valor que se devuelve si el archivo no existe o no se puede acceder a él.StringoNULL
String
Ejemplos
Insertar archivos en una tabla
Query
Response
filesystemAvailable
Introducido en: v20.1.0 Devuelve la cantidad de espacio libre en el sistema de archivos que aloja la persistencia de la base de datos. El valor devuelto siempre es inferior al espacio libre total (filesystemUnreserved) porque parte del espacio está reservado para el sistema operativo.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
disk_name— Opcional. El nombre del disco del que se quiere obtener la cantidad de espacio libre. Si se omite, se usa el disco predeterminado.StringoFixedString
UInt64
Ejemplos
Ejemplo de uso
Query
Response
filesystemCapacity
Introducido en: v20.1.0 Devuelve la capacidad del sistema de archivos en bytes. Requiere que se configure la path del directorio de datos.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
disk_name— Opcional. El nombre del disco cuya capacidad se quiere obtener. Si se omite, se usa el disco predeterminado.StringoFixedString
UInt64
Ejemplos
Ejemplo de uso
Query
Response
filesystemUnreserved
Introducido en: v22.12.0 Devuelve la cantidad total de espacio libre en el sistema de archivos que hospeda la persistencia de la base de datos (anteriormentefilesystemFree).
Véase también filesystemAvailable.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
disk_name— Opcional. El nombre del disco cuyo espacio libre total se debe obtener. Si se omite, se usa el disco predeterminado.StringoFixedString
UInt64
Ejemplos
Ejemplo de uso
Query
Response
finalizeAggregation
Introducido en: v1.1.0 Dado un estado de agregación, esta función devuelve el resultado de la agregación (o el estado final cuando se utiliza un combinador -State). Sintaxisstate— Estado de agregación.AggregateFunction
Any
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
flipCoordinates
Introducido en: v25.11.0 Invierte las coordenadas x e y de los objetos geométricos. Esta operación intercambia la latitud y la longitud, lo que resulta útil para convertir entre distintos sistemas de coordenadas o corregir el orden de las coordenadas. En un Point, intercambia las coordenadas x e y. En las geometrías complejas (MultiPoint, LineString, Polygon, MultiPolygon, Ring, MultiLineString), aplica la transformación de forma recursiva a cada par de coordenadas. La función admite tanto tipos de geometría individuales (Point, MultiPoint, Ring, Polygon, MultiPolygon, LineString, MultiLineString) como el tipo variante Geometry. Sintaxisgeometry— La geometría que se va a transformar. Tipos admitidos: Point (Tuple(Float64, Float64)), MultiPoint (Array(Point)), Ring (Array(Point)), Polygon (Array(Ring)), MultiPolygon (Array(Polygon)), LineString (Array(Point)), MultiLineString (Array(LineString)) o Geometry (una variante que contiene cualquiera de estos tipos).
Point o MultiPoint o Ring o Polygon o MultiPolygon o LineString o MultiLineString o Geometry
Ejemplos
basic_point
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
formatQuery
Introducido en: v23.10.0 Devuelve una versión con formato, posiblemente de varias líneas, de la consulta SQL dada. Genera una excepción en caso de error de análisis sintáctico. [example:multiline] Sintaxisquery— La consulta SQL que se va a formatear. String
String
Ejemplos
multiline
Query
Response
formatQueryFromJSON
Introducido en: v26.8.0 Toma una representación JSON de un AST de SQL (generada porparseQueryToJSON) y la convierte de nuevo en una cadena de consulta SQL.
Con un argumento, genera SQL con formato canónico.
Con dos argumentos (json, original_query), conserva, en la medida de lo posible, los comentarios, los espacios en blanco y la sangría de la consulta original.
El AST deserializado está limitado por la configuración max_ast_depth y max_ast_elements de la sesión actual.
Junto con parseQueryToJSON, esta función permite inspeccionar y transformar consultas mediante programación
a través de su representación de AST en JSON.
Sintaxis
json— Una cadena JSON que representa un AST de SQL.Stringoriginal_query— Opcional. La consulta SQL original cuyo formato se conservará.String
String
Ejemplos
Ida y vuelta
Query
Response
Query
Response
formatQueryOrNull
Introducido en: v23.11.0 Devuelve una versión formateada, posiblemente de varias líneas, de la consulta SQL proporcionada. Devuelve NULL en caso de error de análisis sintáctico. [example:multiline] Sintaxisquery— La consulta SQL que se va a formatear. String
String
Ejemplos
multilínea
Query
Response
formatQuerySingleLine
Introducido en: v23.10.0 Como formatQuery(), pero la cadena formateada que se devuelve no contiene saltos de línea. Genera una excepción en caso de error de análisis sintáctico. [example:multiline] Sintaxisquery— La consulta SQL que se va a formatear. String
String
Ejemplos
multiline
Query
Response
formatQuerySingleLineOrNull
Introducido en: v23.11.0 Como formatQuery(), pero la cadena formateada devuelta no contiene saltos de línea. Devuelve NULL en caso de error de análisis sintáctico. [example:multiline] Sintaxisquery— La consulta SQL que se va a dar formato.String
String
Ejemplos
multilínea
Query
Response
formatReadableDecimalSize
Introducido en: v22.11.0 Dado un tamaño (número de bytes), esta función devuelve un tamaño legible y redondeado con sufijo (KB, MB, etc.) en forma de cadena. La operación inversa de esta función esparseReadableSize.
Sintaxis
value— Tamaño en bytes.Int8oInt16oInt32oInt64oUInt8oUInt16oUInt32oUInt64oFloat32oFloat64oDecimalprecision— Opcional. Número de dígitos después del punto decimal. El valor predeterminado es 2.const UInt8
String
Ejemplos
Formatear tamaños de archivo
Query
Response
Query
Response
formatReadableQuantity
Introducido en: v20.10.0 Dado un número, esta función devuelve una cadena con el número redondeado y un sufijo (mil, millón, mil millones, etc.). Esta función acepta cualquier tipo numérico como entrada, pero internamente lo convierte aFloat64.
Los resultados pueden no ser óptimos con valores grandes.
Sintaxis
value— Un número para formatear.Int8oInt16oInt32oInt64oUInt8oUInt16oUInt32oUInt64oFloat32oFloat64oDecimalprecision— Opcional. Número de dígitos después del punto decimal. El valor predeterminado es 2.const UInt8
String
Ejemplos
Dar formato a números con sufijos
Query
Response
Query
Response
formatReadableSize
Introducido en: v1.1.0 Dado un tamaño (número de bytes), esta función devuelve un tamaño legible y redondeado con sufijo (KiB, MiB, etc.) en forma de cadena. Las operaciones opuestas de esta función sonparseReadableSize, parseReadableSizeOrZero y parseReadableSizeOrNull.
Esta función acepta cualquier tipo numérico como entrada, pero internamente lo convierte a Float64. Los resultados pueden no ser óptimos con valores grandes.
Sintaxis
FORMAT_BYTES
Argumentos
value— Tamaño en bytes.Int8oInt16oInt32oInt64oUInt8oUInt16oUInt32oUInt64oFloat32oFloat64oDecimalprecision— Opcional. Número de dígitos después del punto decimal. El valor predeterminado es 2.const UInt8
String
Ejemplos
Formatear tamaños de archivo
Query
Response
Query
Response
formatReadableTimeDelta
Introducido en: v20.12.0 Dado un intervalo de tiempo (delta) en segundos o una expresiónINTERVAL, esta función devuelve dicho delta como una cadena con años/meses/días/horas/minutos/segundos/milisegundos/microsegundos/nanosegundos.
Esta función acepta cualquier tipo numérico como entrada, pero internamente lo convierte a Float64. Los resultados pueden no ser óptimos con valores grandes.
Cuando se pasa una expresión INTERVAL, su valor se convierte a segundos. No se admiten las unidades de intervalo MONTH y superiores (MONTH, QUARTER, YEAR), ya que no representan un intervalo de duración fija en segundos.
Sintaxis
column— Una columna con una diferencia de tiempo numérica, o una expresiónINTERVAL. No se admiten unidades de intervalo deMONTHen adelante.Float64oIntervalmaximum_unit— Opcional. La unidad máxima que se mostrará. Valores aceptables:nanoseconds,microseconds,milliseconds,seconds,minutes,hours,days,months,years. Valor predeterminado:years.const Stringminimum_unit— Opcional. La unidad mínima que se mostrará. Todas las unidades más pequeñas se truncan. Valores aceptables:nanoseconds,microseconds,milliseconds,seconds,minutes,hours,days,months,years. Si el valor especificado explícitamente es mayor quemaximum_unit, se lanzará una excepción. Valor predeterminado:secondssimaximum_unitessecondso una unidad mayor;nanosecondsen caso contrario.const String
String
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
Query
Response
fuzzQuery
Introducido en: v26.2.0 Analiza la cadena de consulta proporcionada y le aplica mutaciones aleatorias del AST (fuzzing). Devuelve la consulta modificada mediante fuzzing como una cadena. No determinista: cada llamada puede producir un resultado diferente. Requiereallow_fuzz_query_functions = 1.
Sintaxis
query— La consulta SQL a la que se aplicará fuzzing. String
String
Ejemplos
básico
Query
generateRandomStructure
Introducido en: v23.5.0 Genera una estructura aleatoria de la tabla con el formatocolumn1_name column1_type, column2_name column2_type, ....
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
number_of_columns— El número deseado de columnas en la estructura de la tabla resultante. Si se establece en 0 oNull, el número de columnas será aleatorio, entre 1 y 128. Valor predeterminado:Null.UInt64seed— Semilla aleatoria para producir resultados estables. Si no se especifica o se establece enNull, se genera aleatoriamente.UInt64
String
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
Query
Response
generateSerialID
Introducido en: v25.1.0 Genera y devuelve números secuenciales a partir del valor anterior del contador. Esta función acepta un argumento de cadena: un identificador de serie, y un valor inicial opcional. El servidor debe estar configurado con Keeper. Las series se almacenan en nodos de Keeper en la ruta, que puede configurarse enseries_keeper_path en la configuración del servidor.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
series_identifier— Identificador de la serieconst Stringstart_value— Opcional. Valor inicial del contador. El valor predeterminado es 0. Nota: este valor solo se usa al crear una serie nueva y se ignora si la serie ya existeUInt*
UInt64
Ejemplos
primera llamada
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
getClientHTTPHeader
Introducido en: v24.5.0 Obtiene el valor de una cabecera HTTP. Si no existe esa cabecera o la solicitud actual no se realiza a través de la interfaz HTTP, la función devuelve una cadena vacía. Algunas cabeceras HTTP (por ejemplo,Authorization, Authentication y X-ClickHouse-*) están restringidas.
La función requiere que el SETTING
allow_get_client_http_header esté habilitado.
Este SETTING no está habilitado de forma predeterminada por motivos de seguridad, ya que algunas cabeceras, como Cookie, pueden contener información sensible.getClientHTTPHeader lee las cabeceras de la solicitud actual, por lo que solo devuelve un valor no vacío cuando la consulta se envía a través de la interfaz HTTP.
Por ejemplo, envíe la cabecera con la solicitud y léala de nuevo a través de HTTP:
application/x-www-form-urlencoded.
Sintaxis
name— El nombre de la cabecera HTTP.String
String
Ejemplos
Ejemplo de uso
Query
getMacro
Introducido en: v20.1.0 Devuelve el valor de una macro del archivo de configuración del servidor. Las macros se definen en la sección<macros> del archivo de configuración y pueden utilizarse para distinguir servidores mediante nombres fáciles de identificar, incluso si tienen nombres de host complejos.
Si la función se ejecuta en el contexto de una tabla distribuida, genera una columna normal con valores correspondientes a cada segmento.
Requiere el privilegio SELECT sobre system.macros, igual que para leer esa tabla.
Esta función no es determinista: puede devolver resultados distintos para los mismos argumentos.
name— El nombre de la macro que se va a obtener.const String
String
Ejemplos
Uso básico
Query
Response
getMaxTableNameLengthForDatabase
Introducido en: v25.1.0 Devuelve la longitud máxima del nombre de una tabla en la base de datos especificada. Sintaxisdatabase_name— El nombre de la base de datos especificada.String
Query
Response
getMergeTreeSetting
Introducido en: v25.6.0 Devuelve el valor actual de un SETTING de MergeTree. Requiere el privilegioSELECT en system.merge_tree_settings, al igual que para leer esa tabla.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
setting_name— El nombre del SETTING.String
Query
Response
getOSKernelVersion
Introducido en: v21.11.0 Devuelve una cadena con la versión del kernel del sistema operativo.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
getServerPort
Introducido en: v21.10.0 Devuelve el número de puerto del servidor para un protocolo dado.Esta función no es determinista: puede devolver resultados distintos para los mismos argumentos.
port_name— Nombre del puerto.String
UInt16
Ejemplos
Ejemplo de uso
Query
Response
getServerSetting
Introducido en: v25.6.0 Devuelve el valor establecido actualmente a partir del nombre de un SETTING del servidor. Requiere el privilegioSELECT en system.server_settings, al igual que para leer esa tabla.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
setting_name— El nombre del SETTING del servidor.String
Any
Ejemplos
Ejemplo de uso
Query
Response
getSetting
Introducido en: v20.7.0 Devuelve el valor actual de un SETTING.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
setting_Name— El nombre del SETTING.const String
Any
Ejemplos
Ejemplo de uso
Query
Response
getSettingOrDefault
Introducido en: v24.10.0 Devuelve el valor actual de un SETTING, o el valor predeterminado especificado en el segundo argumento si el SETTING no está definido en el perfil actual.Esta función no es determinista: puede devolver resultados distintos para los mismos argumentos.
setting_name— El nombre del SETTING.Stringdefault_value— Valor que se devolverá si no se ha establecido custom_setting. El valor puede ser de cualquier tipo de dato o NULL.
default_value si el SETTING no se ha establecido.
Ejemplos
Ejemplo de uso
Query
Response
getSizeOfEnumType
Introducido en: v1.1.0 Devuelve el número de campos delEnum proporcionado.
Sintaxis
x— Valor de tipoEnum.Enum
Enum. UInt8/16
Ejemplos
Ejemplo de uso
Query
Response
getSubcolumn
Introducido en: v23.3.0 Recibe una expresión o un identificador, y una cadena constante con el nombre de la subcolumna. Devuelve la subcolumna solicitada extraída de la expresión. Sintaxis- Ninguno.
Query
Response
getTypeSerializationStreams
Introducido en: v22.6.0 Enumera las rutas de los streams de serialización de un tipo de dato. Esta función está pensada para fines de desarrollo. Sintaxiscol— Columna o representación en cadena de un tipo de dato a partir de la cual se detectará el tipo de dato.Any
Array(String)
Ejemplos
tupla
Query
Response
Query
Response
globalVariable
Introducido en: v20.5.0 Toma un argumento de tipo cadena constante y devuelve el valor de la variable global con ese nombre. Esta función está pensada para mantener la compatibilidad con MySQL y no es necesaria ni útil para el funcionamiento normal de ClickHouse. Solo hay definidas unas pocas variables globales ficticias. Sintaxisname— Nombre de la variable global.String
name. Any
Ejemplos
globalVariable
Query
Response
hasColumnInTable
Introducido en: v1.1.0 Comprueba si una columna específica existe en una tabla de una base de datos. En el caso de los elementos de una estructura de datos anidada, la función comprueba si existe una columna. En el caso de la propia estructura de datos anidada, la función devuelve0.
La función requiere el privilegio
SHOW COLUMNS en la tabla de destino (el mismo grant necesario para DESCRIBE y SHOW CREATE TABLE).
Sin él, la llamada falla con ACCESS_DENIED en lugar de devolver 1 o 0, por lo que no es posible comprobar nombres de columna sin acceso.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
database— Nombre de la base de datos.const Stringtable— Nombre de la tabla.const Stringcolumn— Nombre de la columna.const String
1 si la columna indicada existe; en caso contrario, 0. UInt8
Ejemplos
Comprobar si existe una columna
Query
Response
Query
Response
hasThreadFuzzer
Introducido en: v20.6.0 Devuelve si el thread fuzzer está habilitado. Esta función solo es útil para pruebas y depuración. Sintaxis- Ninguno.
UInt8
Ejemplos
Comprobar el estado de Thread Fuzzer
Query
Response
highlightQuery
Introducido en: v26.5.0 Analiza una cadena con una consulta de ClickHouse SQL y devuelve un array de rangos destacados para el resaltado de sintaxis. Cada rango es una tupla con nombre con la posición inicial (en bytes), la posición final y el tipo de resaltado. Los tipos de resaltado describen el papel sintáctico del fragmento (palabra clave, identificador, función, etc.) y pueden usarse para asignar colores en una UI. Dentro de los patrones de cadena de LIKE y REGEXP, los metacaracteres y los caracteres de escape se resaltan por separado. Sintaxisquery— Una cadena de consulta de ClickHouse SQL. String.
(begin UInt64, end UInt64, type Enum8(...)) que representa rangos resaltados. Array(Tuple(begin UInt64, end UInt64, type Enum8(...)))
Ejemplos
simple
Query
Response
hostName
Introducido en: v20.5.0 Devuelve el nombre del host en el que se ejecutó esta función. Si la función se ejecuta en un servidor remoto (procesamiento distribuido), se devuelve el nombre de ese servidor. Si la función se ejecuta en el contexto de una tabla distribuida, genera una columna normal con valores correspondientes a cada segmento. De lo contrario, produce un valor constante.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
hostname
Argumentos
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
icebergBucket
Introducido en: v25.5.0 Implementa la lógica de la transformación bucket de Iceberg SintaxisN— El número de buckets; módulo.const (U)Int*value— El valor de entrada que se va a transformar.(U)Int*oBooloDecimaloFloat*oStringoFixedStringoUUIDoDateoTimeoDateTime
Int32
Ejemplos
Ejemplo
Query
Response
icebergDay
Introducida en: v26.9.0 Implementa la transformada de particiónday de Iceberg: el número de días transcurridos desde 1970-01-01, calculado en UTC.
Consulte https://iceberg.apache.org/spec/#partition-transforms.
Sintaxis
value— El valor que se va a transformar.DateoDate32oDateTimeoDateTime64
Int32
Ejemplos
Ejemplo
Query
Response
icebergHour
Introducido en: v26.9.0 Implementa la transformada de particiónhour de Iceberg: el número de horas transcurridas desde 1970-01-01 00:00:00, calculado en UTC.
Consulte https://iceberg.apache.org/spec/#partition-transforms.
Sintaxis
value— El valor que se va a transformar.DateTimeoDateTime64
Int32
Ejemplos
Ejemplo
Query
Response
icebergMonth
Introducido en: v26.9.0 Implementa la transformada de particiónmonth de Iceberg: el número de meses transcurridos desde 1970-01-01, calculado en UTC.
Consulte https://iceberg.apache.org/spec/#partition-transforms.
Sintaxis
value— El valor que se va a transformar.DateoDate32oDateTimeoDateTime64
Int32
Ejemplos
Ejemplo
Query
Response
icebergTruncate
Introducido en: v25.3.0 Implementa la lógica de la transformacióntruncate de Iceberg: https://iceberg.apache.org/spec/#truncate-transform-details.
Sintaxis
Query
Response
icebergYear
Introducida en: v26.9.0 Implementa la transformada de particiónyear de Iceberg: el número de años transcurridos desde 1970, calculado en UTC.
Véase https://iceberg.apache.org/spec/#partition-transforms.
Sintaxis
value— El valor que se va a transformar.DateoDate32oDateTimeoDateTime64
Int32
Ejemplos
Ejemplo
Query
Response
identity
Introducido en: v1.1.0 Esta función devuelve el argumento que se le pasa, lo que resulta útil para la depuración y las pruebas. Permite omitir el uso de índices para ver, en su lugar, el rendimiento de un escaneo completo. El analizador de consultas ignora todo lo que haya dentro de las funciones identity al buscar índices que usar, y también desactiva el plegado de constantes. Sintaxisx— Valor de entrada.Any
Any
Ejemplos
Ejemplo de uso
Query
Response
ignore
Introducido en: v1.1.0 Acepta cualquier argumento y siempre devuelve0.
Sintaxis
x— Un valor de entrada que no se utiliza y se pasa únicamente para evitar un error de sintaxis.Any
0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
indexHint
Introducido en: v1.1.0 Esta función está pensada para depuración e introspección. Ignora su argumento y siempre devuelve 1. Los argumentos no se evalúan. Durante el análisis del índice, se asume que el argumento de esta función no está envuelto enindexHint.
Esto le permite seleccionar datos en rangos del índice mediante la condición correspondiente, pero sin aplicar después un filtrado por esa condición.
El índice de ClickHouse es disperso, y usar indexHint devolverá más datos que especificar directamente la misma condición.
Explicación
Explicación
Cuando ejecuta:ClickHouse hace dos cosas:ClickHouse hace solo una cosa:
- Usa el índice para encontrar qué gránulos (bloques de ~8192 filas) podrían contener
key = 123 - Lee esos gránulos y los filtra fila por fila para devolver solo las filas donde
key = 123
indexHint, cuando ejecuta:- Usa el índice para encontrar qué gránulos podrían contener
key = 123y devuelve todas las filas de esos gránulos sin filtrarlas.
key = 456, key = 789, etc. (Todo lo que haya quedado almacenado en el mismo gránulo).
indexHint() no sirve para mejorar el rendimiento. Sirve para depurar y entender cómo funciona el índice de ClickHouse:- ¿Qué gránulos selecciona mi condición?
- ¿Cuántas filas hay en esos gránulos?
- ¿Se está usando mi índice de forma eficaz?
indexHint. La función indexHint no optimiza la consulta, ya que no proporciona ninguna información adicional para el análisis de la consulta. Tener una expresión dentro de la función indexHint no es en modo alguno mejor que no usar la función indexHint. La función indexHint solo puede usarse con fines de introspección y depuración, y no mejora el rendimiento. Si ve que alguien que no sea colaborador de ClickHouse usa indexHint, probablemente sea un error y debería eliminarlo.
Sintaxis
expression— Cualquier expresión para la selección del rango del índice.Expression
1 en todos los casos. UInt8
Ejemplos
Ejemplo de uso con filtro por fecha
Query
Response
initialQueryID
Introducido en: v1.1.0 Devuelve el ID de la consulta inicial de la consulta actual. Otros parámetros de una consulta pueden extraerse del campoinitial_query_id en system.query_log.
A diferencia de la función queryID, initialQueryID devuelve los mismos resultados en diferentes segmentos.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
initial_query_id
Argumentos
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
initialQueryStartTime
Introducido en: v25.4.0 Devuelve la hora de inicio de la consulta inicial de la consulta actual.initialQueryStartTime devuelve los mismos resultados en diferentes segmentos.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
initial_query_start_time
Argumentos
- Ninguno.
DateTime
Ejemplos
Ejemplo de uso
Query
Response
initializeAggregation
Introducido en: v20.6.0 Calcula el resultado de una función de agregación a partir de un único valor. Esta función puede utilizarse para inicializar funciones de agregación con el combinador -State. Puede crear estados de funciones de agregación e insertarlos en columnas de tipoAggregateFunction, o usar agregados inicializados como valores por defecto.
Sintaxis
aggregate_function— Nombre de la función de agregación que se va a inicializar.Stringarg1[, arg2, ...]— Argumentos de la función de agregación.Any
initializeAggregation recibe como primer argumento. Any
Ejemplos
Uso básico con uniqState
Query
Response
Query
Response
isConstant
Introducido en: v20.3.0 Indica si el argumento es una expresión constante. Una expresión constante es una expresión cuyo resultado se conoce durante el análisis de la consulta, es decir, antes de la ejecución. Por ejemplo, las expresiones sobre literales son expresiones constantes. Esta función está pensada principalmente para desarrollo, depuración y demostración.Esta función no es determinista: puede devolver resultados distintos para los mismos argumentos.
x— Una expresión que se debe comprobar.Any
1 si x es constante y 0 si x no es constante. UInt8
Ejemplos
Expresión constante
Query
Response
Query
Response
Query
Response
Query
Response
isDecimalOverflow
Introducido en: v20.8.0 Comprueba si un número decimal tiene demasiados dígitos para caber correctamente en un tipo de dato Decimal con la precisión indicada. Sintaxisvalue— ValorDecimalque se va a comprobar.Decimalprecision— Opcional. La precisión del tipoDecimal. Si se omite, se usa la precisión inicial del primer argumento.UInt8
1 si el valor decimal tiene más dígitos de los permitidos por su precisión, y 0 si el valor decimal cumple la precisión especificada. UInt8
Ejemplos
Ejemplo de uso
Query
Response
joinGet
Introducido en: v18.16.0 Permite extraer datos de una tabla de la misma manera que de un diccionario. Obtiene datos de tablas Join usando la clave de join especificada.Solo admite tablas creadas con la instrucción
ENGINE = Join(ANY, LEFT, <join_keys>) sentencia.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
join_storage_table_name— Un identificador que indica dónde realizar la búsqueda. El identificador se busca en la base de datos predeterminada (consulte el parámetrodefault_databaseen el archivo de configuración). Para anular la base de datos predeterminada, use la consultaUSE database_nameo especifique la base de datos y la tabla mediante un punto, comodatabase_name.table_name.Stringvalue_column— El nombre de la columna de la tabla que contiene los datos necesarios.const Stringjoin_keys— Una lista de claves de join.Any
Any
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
Query
Response
joinGetOrNull
Introducido en: v20.4.0 Permite extraer datos de una tabla de la misma forma que de un diccionario. Obtiene datos de tablas Join mediante la clave de join especificada. A diferencia dejoinGet, devuelve NULL cuando la clave no existe.
Solo admite tablas creadas con la
ENGINE = Join(ANY, LEFT, <join_keys>) sentencia.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
join_storage_table_name— Un identificador que indica dónde realizar la búsqueda. El identificador se busca en la base de datos predeterminada (consulte el parámetro default_database en el archivo de configuración). Para usar otra base de datos distinta de la predeterminada, utilice la consultaUSE database_nameo especifique la base de datos y la tabla separadas por un punto, como endatabase_name.table_name.Stringvalue_column— El nombre de la columna de la tabla que contiene los datos necesarios.const Stringjoin_keys— Una lista de claves de join.Any
NULL si no se encuentra una clave. Any
Ejemplos
Ejemplo de uso
Query
Response
lowCardinalityIndices
Introducido en: v18.12.0 Devuelve la posición de un valor en el diccionario de una columna LowCardinality. Las posiciones empiezan en 1. Como LowCardinality tiene diccionarios por cada parte, esta función puede devolver posiciones distintas para el mismo valor en diferentes partes.Esta función no es determinista: puede devolver resultados distintos para los mismos argumentos.
col— Una columna de baja cardinalidad.LowCardinality
UInt64
Ejemplos
Ejemplos de uso
Query
Response
lowCardinalityKeys
Introducido en: v18.12.0 Devuelve los valores del diccionario de una columna LowCardinality. Si el bloque es más pequeño o más grande que el tamaño del diccionario, el resultado se truncará o se completará con valores predeterminados. Dado que LowCardinality tiene diccionarios por parte, esta función puede devolver valores de diccionario diferentes en distintas partes.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
col— Una columna de baja cardinalidad.LowCardinality
UInt64
Ejemplos
lowCardinalityKeys
Query
Response
materialize
Introducido en: v1.1.0 Convierte una constante en una columna completa que contiene un solo valor. Las columnas completas y las constantes se representan de forma diferente en memoria. Las funciones suelen ejecutar código diferente para los argumentos normales y los constantes, aunque por lo general el resultado debería ser el mismo. Esta función puede utilizarse para depurar este comportamiento. Sintaxisx— Una constante.Any
Any
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
minSampleSizeContinuous
Introducido en: v23.10.0 Calcula el tamaño mínimo de muestra necesario para una prueba A/B que compara las medias de una métrica continua en dos muestras. Usa la fórmula descrita en este artículo. Asume tamaños iguales para los grupos de tratamiento y de control. Devuelve el tamaño de muestra necesario para un grupo (es decir, el tamaño de muestra necesario para todo el experimento es el doble del valor devuelto). También asume una varianza igual de la métrica evaluada en los grupos de tratamiento y de control. SintaxisminSampleSizeContinous
Argumentos
baseline— Valor de referencia de una métrica.(U)Int*oFloat*sigma— Desviación estándar de referencia de una métrica.(U)Int*oFloat*mde— Efecto mínimo detectable (MDE) como porcentaje del valor de referencia (p. ej., para un valor de referencia de 112.25, un MDE de 0.03 significa un cambio esperado a 112.25 ± 112.25*0.03).(U)Int*oFloat*power— Potencia estadística requerida de una prueba (1 - probabilidad de error de tipo II).(U)Int*oFloat*alpha— Nivel de significación requerido de una prueba (probabilidad de error de tipo I).(U)Int*oFloat*
minimum_sample_size, detect_range_lower y detect_range_upper. Estos corresponden, respectivamente, al tamaño de muestra requerido, al límite inferior del rango de valores no detectables con el tamaño de muestra requerido devuelto, calculado como baseline * (1 - mde), y al límite superior del rango de valores no detectables con el tamaño de muestra requerido devuelto, calculado como baseline * (1 + mde) (Float64). Tuple(Float64, Float64, Float64)
Ejemplos
minSampleSizeContinuous
Query
Response
minSampleSizeConversion
Introducido en: v22.6.0 Calcula el tamaño mínimo de muestra necesario para una prueba A/B que compara conversiones (proporciones) en dos muestras. Utiliza la fórmula descrita en este artículo. Asume tamaños iguales para los grupos de tratamiento y de control. Devuelve el tamaño de muestra necesario para un grupo (es decir, el tamaño de muestra necesario para todo el experimento es el doble del valor devuelto). Sintaxisbaseline— Tasa de conversión de referencia.Float*mde— Efecto mínimo detectable (MDE), en puntos porcentuales (p. ej., para una tasa de conversión de referencia de 0.25, un MDE de 0.03 significa un cambio esperado a 0.25 ± 0.03).Float*power— Potencia estadística requerida de una prueba (1 - probabilidad de error de tipo II).Float*alpha— Nivel de significación requerido de una prueba (probabilidad de error de tipo I).Float*
minimum_sample_size, detect_range_lower, detect_range_upper. Estos son, respectivamente: el tamaño de muestra requerido, el límite inferior del intervalo de valores no detectables con el tamaño de muestra requerido devuelto, calculado como baseline - mde, y el límite superior del intervalo de valores no detectables con el tamaño de muestra requerido devuelto, calculado como baseline + mde. Tuple(Float64, Float64, Float64)
Ejemplos
minSampleSizeConversion
Query
Response
neighbor
Introducido en: v20.1.0 Devuelve un valor de una columna con un desplazamiento especificado respecto de la fila actual. Esta función está obsoleta y es propensa a errores porque opera sobre el orden físico de los bloques de datos, que puede no corresponderse con el orden lógico que esperan los usuarios. Considere usar funciones de ventana adecuadas en su lugar. La función puede habilitarse estableciendoallow_deprecated_error_prone_window_functions = 1.
Sintaxis
column— La columna de origen.Anyoffset— El desplazamiento con respecto a la fila actual. Los valores positivos avanzan y los valores negativos retroceden.Integerdefault_value— Opcional. El valor que se devuelve si el desplazamiento queda fuera de los límites de los datos. Si no se especifica, se usa el valor predeterminado del tipo de columna.Any
Any
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
normalizeQuery
Introducido en: v20.8.0 Sustituye los literales, las secuencias de literales y los alias complejos (que contienen espacios en blanco, más de dos dígitos o tienen una longitud de al menos 36 bytes, como los UUID) por el marcador de posición?.
Sintaxis
x— Secuencia de caracteres.String
String
Ejemplos
Ejemplo de uso
Query
Response
normalizeQueryKeepNames
Introducido en: v21.2.0 Reemplaza los literales y las secuencias de literales por el marcador de posición?, pero no reemplaza los alias complejos (que contienen espacios en blanco, más de dos dígitos o tienen una longitud de al menos 36 bytes, como los UUID).
Esto ayuda a analizar mejor los logs de consultas complejas.
Sintaxis
x— Secuencia de caracteres.String
String
Ejemplos
Ejemplo de uso
Query
Response
normalizedQueryHash
Introducido en: v20.8.0 Devuelve valores hash idénticos de 64 bits para consultas similares, sin tener en cuenta los valores de los literales. Puede ser útil para analizar los logs de consultas. Sintaxisx— Secuencia de caracteres.String
UInt64
Ejemplos
Ejemplo de uso
Query
Response
normalizedQueryHashKeepNames
Introducido en la versión v21.2.0 Al igual quenormalizedQueryHash, devuelve valores hash idénticos de 64 bits para consultas similares sin incluir los valores de los literales, pero no reemplaza los alias complejos (que contienen espacios en blanco, más de dos dígitos o tienen una longitud mínima de 36 bytes, como los UUID) por un marcador de posición antes de calcular el hash.
Puede ser útil para analizar el log de consulta.
Sintaxis
x— Secuencia de caracteres.String
UInt64
Ejemplos
Ejemplo de uso
Query
Response
obfuscateQuery
Introducido en: v26.4.0 Ofusca una consulta SQL sustituyendo los identificadores por palabras aleatorias y los literales por valores aleatorios, a la vez que conserva la estructura de la consulta. Esta función es útil para anonimizar consultas antes de registrarlas o compartirlas con fines de depuración. Distintas filas producirán resultados ofuscados diferentes incluso para la misma consulta de entrada, lo que ayuda a mantener la privacidad al trabajar con múltiples consultas. El parámetro opcionaltag evita la eliminación de subexpresiones comunes cuando la misma llamada a la función
se usa varias veces en una consulta. Esto garantiza que cada invocación produzca un resultado ofuscado diferente.
Características:
- Sustituye los nombres de tabla, los nombres de columna y los alias por palabras aleatorias
- Sustituye los literales numéricos y de texto por valores aleatorios
- Conserva la estructura general de la consulta y la sintaxis SQL
- Produce resultados diferentes para distintas filas
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
query— La consulta SQL que se va a ofuscar.Stringtag— Opcional. Un valor para evitar la eliminación de subexpresiones comunes cuando la misma llamada a función se utiliza varias veces.
String
Ejemplos
Uso básico
Query
Response
Query
Response
Query
Response
obfuscateQueryWithSeed
Introducido en: v26.4.0 Ofusca una consulta SQL usando una semilla específica para obtener resultados deterministas. A diferencia deobfuscateQuery(), esta función produce resultados deterministas cuando se le proporciona la misma semilla.
Esto resulta útil cuando necesitas una ofuscación coherente en varias ejecuciones o cuando quieres
reproducir la misma consulta ofuscada para fines de prueba o depuración.
Características:
- Ofuscación determinista basada en la semilla proporcionada
- La misma semilla siempre produce el mismo resultado ofuscado
- Semillas diferentes producen resultados diferentes
- Conserva la estructura de la consulta, igual que obfuscateQuery()
- Casos de prueba reproducibles
- Anonimización coherente en varias ejecuciones
- Depuración con consultas ofuscadas coherentes
query— La consulta SQL que se va a ofuscar.Stringseed— La semilla de la ofuscación. La misma semilla produce resultados deterministas.IntegeroString
String
Ejemplos
Ofuscación determinista con una semilla entera
Query
Response
Query
Response
Query
Response
parseISO8601Duration
Introducido en: v26.9.0 Analiza una cadena de duración ISO 8601 y devuelve el número de segundos. La duración comienza conP, seguida de componentes de fecha opcionales y de una sección de tiempo opcional
introducida por T:
W- semanasD- díasT- inicia la sección de tiempoH- horasM- minutos, solo después deTS- segundos
PT0.5H es válido y devuelve 1800.
Los designadores deben aparecer en el orden indicado y cada uno puede aparecer como máximo una vez. El designador de semana puede
combinarse con los demás, a diferencia de ISO 8601:2004, donde es exclusive.
Se rechazan el designador de año (Y) y el designador de mes (M) situado antes de T, ya que ni un
año ni un mes tienen una duración fija en segundos. En su lugar, convierta dichas duraciones respecto a una fecha de referencia.
Hay dos formas permitidas por el estándar y sus extensiones que no se aceptan:
- una coma como separador decimal, como en
PT1,5S- utilice un punto - un signo inicial, como en
-PT1S, que proviene de RFC 3339 y XML Schema y no de la gramática básica
duration— Una cadena de duración ISO 8601.String
Float64
Examples
Usage example
Query
Response
Query
Response
parseQueryToJSON
Introducido en: v26.8.0 Analiza una cadena de consulta SQL y la convierte en su AST (árbol de sintaxis abstracta); devuelve una representación JSON de dicho árbol. El JSON resultante se puede pasar aformatQueryFromJSON para reconstruir la consulta SQL o enviar directamente
al servidor mediante el valor clickhouse_json de la configuración dialect (controlado por enable_json_ast_dialect).
Resulta útil para herramientas que quieran inspeccionar o transformar consultas mediante programación sin tener que pasar por
la gramática SQL.
No todas las consultas SQL tienen una representación JSON fiel. Las consultas que contienen datos que el formato JSON no puede
reproducir (por ejemplo, datos insertados en línea mediante INSERT ... VALUES / INSERT ... FORMAT) y los tipos de nodos AST que aún no
implementan la serialización JSON se rechazan con BAD_ARGUMENTS, en lugar de generar JSON que
formatQueryFromJSON no podría volver a leer.
Los límites de análisis (max_query_size, max_parser_depth, max_parser_backtracks) se toman de la configuración de la
sesión actual.
Sintaxis
sql— Cadena de consulta SQL que se va a analizar.String
String
Ejemplos
SELECT simple
Query
Response
parseReadableSize
Introducido en: v24.6.0 Dada una cadena que contiene un tamaño en bytes yB, KiB, KB, MiB, MB, etc. como unidad (es decir, ISO/IEC 80000-13 o una unidad decimal de bytes), esta función devuelve el número de bytes correspondiente.
Si la función no puede interpretar el valor de entrada, lanza una excepción.
Las operaciones inversas de esta función son formatReadableSize y formatReadableDecimalSize.
Sintaxis
x— Tamaño legible con una unidad de bytes ISO/IEC 80000-13 o decimal.String
UInt64
Ejemplos
Ejemplo de uso
Query
Response
parseReadableSizeOrNull
Introducido en: v24.6.0 Dada una cadena que contiene un tamaño de bytes yB, KiB, KB, MiB, MB, etc. como unidad (es decir, ISO/IEC 80000-13 o una unidad decimal de bytes), esta función devuelve el número de bytes correspondiente.
Si la función no puede interpretar el valor de entrada, devuelve NULL.
Las operaciones inversas de esta función son formatReadableSize y formatReadableDecimalSize.
Sintaxis
x— Tamaño en formato legible con una unidad de bytes ISO/IEC 80000-13 o decimal.String
NULL si no se puede interpretar la entrada Nullable(UInt64)
Ejemplos
Ejemplo de uso
Query
Response
parseReadableSizeOrZero
Introducido en: v24.6.0 Dada una cadena que contiene un tamaño en bytes yB, KiB, KB, MiB, MB, etc. como unidad (es decir, ISO/IEC 80000-13 o una unidad decimal de bytes), esta función devuelve el número de bytes correspondiente.
Si la función no puede interpretar el valor de entrada, devuelve 0.
Las operaciones inversas de esta función son formatReadableSize y formatReadableDecimalSize.
Sintaxis
x— Tamaño legible con una unidad de bytes según ISO/IEC 80000-13 o decimal.String
0 si no es posible analizar la entrada. UInt64
Ejemplos
Ejemplo de uso
Query
Response
parseTimeDelta
Introducido en: v22.7.0 Analiza una secuencia de números seguida de algo que se asemeja a una unidad de tiempo. La cadena de intervalo de tiempo usa estas especificaciones de unidades de tiempo:years,year,yr,ymonths,month,moweeks,week,wdays,day,dhours,hour,hr,hminutes,minute,min,mseconds,second,sec,smilliseconds,millisecond,millisec,msmicroseconds,microsecond,microsec,μs,µs,usnanoseconds,nanosecond,nanosec,ns
;, -, +, ,, :).
La duración de los años y los meses es aproximada: un año equivale a 365 días y un mes a 30.5 días.
Sintaxis
timestr— Una secuencia de números seguida de algo parecido a una unidad de tiempo.String
Float64
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
partitionId
Introducido en: v21.4.0 Calcula el ID de la partición.Esta función es lenta y no debe utilizarse con grandes cantidades de filas.
partitionID
Argumentos
column1, column2, ...— Columna cuyo ID de partición se devuelve.
String
Ejemplos
Ejemplo de uso
Query
Response
pgGetUserById
Introducida en: v26.8.0 Función de compatibilidad con el protocolo wire de PostgreSQL, equivalente apg_catalog.pg_get_userbyid.
Los clientes de PostgreSQL (por ejemplo, el comando \d de psql) la utilizan para mostrar el propietario de una tabla.
ClickHouse no realiza un seguimiento de la propiedad de las tablas, por lo que la función ignora el argumento y devuelve el nombre del usuario actual.
Esta función no es determinista: puede devolver resultados diferentes con los mismos argumentos.
pg_get_userbyid
Argumentos
oid— Identificador de objeto del rol. El valor se ignora.UInt32
String
Ejemplos
Ejemplo de uso
Query
Response
pgTableIsVisible
Introducida en: v26.8.0 Función de compatibilidad para el protocolo wire de PostgreSQL, análoga apg_catalog.pg_table_is_visible.
Los clientes de PostgreSQL (por ejemplo, el comando \d de psql) la utilizan para filtrar las tablas visibles en la ruta de búsqueda.
Dado que la vista pg_class emulada por ClickHouse solo expone las tablas de la base de datos actual, que son todas visibles, la función siempre devuelve 1.
Sintaxis
pg_table_is_visible
Argumentos
oid— Identificador de objeto de la tabla, tal como se expone en la vistapg_classemulada. El valor se ignora.UInt32
1. UInt8
Ejemplos
Ejemplo de uso
Query
Response
queryID
Introducido en: v21.9.0 Devuelve el ID de la consulta actual. Se pueden extraer otros parámetros de la consulta del campoquery_id de la tabla system.query_log.
A diferencia de la función initialQueryID, queryID puede devolver resultados diferentes en distintos segmentos.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
query_id
Argumentos
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
revision
Introducido en: v22.7.0 Devuelve la revisión actual del servidor de ClickHouse.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
UInt32
Ejemplos
Ejemplo de uso
Query
Response
rowNumberInAllBlocks
Introducido en: v1.1.0 Devuelve un número de fila único para cada fila que se procesa.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
0. UInt64
Ejemplos
Ejemplo de uso
Query
Response
rowNumberInBlock
Introducido en: v1.1.0 Para cada bloque procesado porrowNumberInBlock, devuelve el número de la fila actual.
El número devuelto comienza en 0 en cada bloque.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
0. UInt64
Ejemplos
Ejemplo de uso
Query
Response
runningAccumulate
Introducido en: v1.1.0 Acumula los estados de una función de agregación para cada fila de un bloque de datos. Sintaxisagg_state— Estado de la función de agregación.AggregateFunctiongrouping— Opcional. Clave de agrupación. El estado de la función se restablece si cambia el valor degrouping. Puede ser cualquiera de los tipos de datos compatibles para los que esté definido el operador de igualdad.Any
Any
Ejemplos
Ejemplo de uso con initializeAggregation
Query
Response
runningConcurrency
Introducido en: v21.3.0 Calcula el número de eventos concurrentes. Cada evento tiene una hora de inicio y una hora de finalización. La hora de inicio se incluye en el evento, mientras que la hora de finalización se excluye. Las columnas con una hora de inicio y una hora de finalización deben tener el mismo tipo de dato. La función calcula el número total de eventos activos (concurrentes) para cada hora de inicio de evento.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
start— Una columna con la hora de inicio de los eventos.DateoDateTimeoDateTime64end— Una columna con la hora de finalización de los eventos.DateoDateTimeoDateTime64
UInt32
Ejemplos
Ejemplo de uso
Query
Response
runningDifference
Introducido en: v1.1.0 Calcula la diferencia entre los valores de dos filas consecutivas en el bloque de datos. Devuelve0 para la primera fila y, para las siguientes, la diferencia con respecto a la fila anterior.
El resultado de la función depende de los bloques de datos afectados y del orden de los datos en el bloque.
El orden de las filas durante el cálculo de runningDifference() puede diferir del orden de las filas que se devuelven al usuario.
Para evitarlo, puede crear una subconsulta con ORDER BY y llamar a la función fuera de la subconsulta.
Tenga en cuenta que el tamaño del bloque afecta al resultado.
El estado interno de runningDifference se restablece con cada bloque nuevo.
Sintaxis
x— Columna para la que se calcula la diferencia acumulada.Any
Query
Response
Query
Response
runningDifferenceStartingWithFirstValue
Introducido en: v1.1.0 Calcula la diferencia entre los valores de filas consecutivas en un bloque de datos, pero, a diferencia derunningDifference, devuelve el valor real de la primera fila en lugar de 0.
Sintaxis
x— Columna para la que se calcula la diferencia acumulada.Any
Any
Ejemplos
Ejemplo de uso
Query
Response
serverUUID
Introducido en: v20.1.0 Devuelve el UUID (v4) aleatorio y único generado cuando el servidor se inicia por primera vez. El UUID se almacena de forma persistente; es decir, en el segundo, tercer, etc. inicio del servidor se devuelve el mismo UUID.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
UUID
Ejemplos
Ejemplo de uso
Query
Response
shardCount
Introducido en: v21.9.0 Devuelve el número total de segmentos de una consulta distribuida. Si la consulta no es distribuida, se devuelve el valor constante0.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
0. UInt32
Ejemplos
Ejemplo de uso
Query
Response
shardNum
Introducido en: v21.9.0 Devuelve el índice de un segmento que procesa una parte de los datos en una consulta distribuida. Los índices comienzan en1.
Si una consulta no es distribuida, se devuelve el valor constante 0.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
0. UInt32
Ejemplos
Ejemplo de uso
Query
Response
showCertificate
Introducido en: v22.6.0 Muestra información sobre el certificado SSL actual del servidor, si se ha configurado. Se devuelve un mapa vacío si el servidor no tiene certificado; por ejemplo, cuando el certificado se aprovisiona con ACME y aún no se ha emitido. Consulta Configuración de TLS para obtener más información sobre cómo configurar ClickHouse para usar certificados OpenSSL para validar las conexiones.Esta función no es determinista: puede devolver resultados diferentes con los mismos argumentos.
- Ninguno.
Map(String, String)
Ejemplos
Ejemplo de uso
Query
Response
sleep
Introducido en: v1.1.0 Pausa la ejecución de una consulta durante el número de segundos especificado. La función se utiliza principalmente para pruebas y depuración. Por lo general, la funciónsleep() no debe usarse en entornos de producción, ya que puede afectar negativamente al rendimiento de las consultas y a la capacidad de respuesta del sistema.
Sin embargo, puede resultar útil en los siguientes casos:
- Pruebas: Al probar o ejecutar benchmarks de ClickHouse, es posible que desee simular retrasos o introducir pausas para observar cómo se comporta el sistema en determinadas condiciones.
- Depuración: Si necesita examinar el estado del sistema o la ejecución de una consulta en un momento concreto, puede usar
sleep()para introducir una pausa, lo que le permitirá inspeccionar o recopilar información relevante. - Simulación: En algunos casos, es posible que desee simular situaciones reales en las que se producen retrasos o pausas, como la latencia de red o las dependencias de sistemas externos.
allow_sleep habilitado).
Sintaxis
seconds— El número de segundos durante los que se pausará la ejecución de la consulta, con un máximo de 3 segundos. Puede ser un valor de coma flotante para especificar fracciones de segundo.const UInt*oconst Float*
0. UInt8
Ejemplos
Ejemplo de uso
Query
Response
sleepEachRow
Introducido en: v1.1.0 Pausa la ejecución de una consulta durante un número determinado de segundos por cada fila del conjunto de resultados. La funciónsleepEachRow() se utiliza principalmente para pruebas y depuración, de forma similar a la función sleep().
Permite simular retrasos o introducir pausas en el procesamiento de cada fila, lo que puede resultar útil en escenarios como los siguientes:
- Pruebas: Al probar o hacer benchmark del rendimiento de ClickHouse en condiciones específicas, puede usar
sleepEachRow()para simular retrasos o introducir pausas en cada fila procesada. - Depuración: Si necesita examinar el estado del sistema o la ejecución de una consulta para cada fila procesada, puede usar
sleepEachRow()para introducir pausas, lo que le permitirá inspeccionar o recopilar información relevante. - Simulación: En algunos casos, puede que desee simular situaciones del mundo real en las que se producen retrasos o pausas por cada fila procesada, como al trabajar con sistemas externos o con latencias de red.
seconds— Número de segundos durante los que se pausa la ejecución de la consulta para cada fila del conjunto de resultados, con un máximo de 3 segundos. Puede ser un valor de coma flotante para especificar fracciones de segundo.const UInt*oconst Float*
0 para cada fila. UInt8
Ejemplos
Ejemplo de uso
Query
Response
structureToCapnProtoSchema
Introducido en: v23.8.0 Función que convierte la estructura de una tabla de ClickHouse a un esquema en formato CapnProto Sintaxis- Ninguno.
Query
Response
structureToProtobufSchema
Introducido en: v23.8.0 Convierte la estructura de una tabla de ClickHouse en un esquema de formato Protobuf. Esta función toma la definición de la estructura de una tabla de ClickHouse y la convierte en una definición de esquema de Protocol Buffers (Protobuf) con sintaxis proto3. Esto resulta útil para generar esquemas de Protobuf que coincidan con las estructuras de tus tablas de ClickHouse para el intercambio de datos. Sintaxisstructure— Definición de la estructura de la tabla de ClickHouse como una cadena (p. ej., ‘column1 Type1, column2 Type2’).Stringmessage_name— Nombre del tipo de mensaje de Protobuf en el esquema generado.String
String
Ejemplos
Conversión de la estructura de ClickHouse a un esquema Protobuf
Query
Response
tcpPort
Introducido en: v20.12.0 Devuelve el número de puerto TCP en el que escucha el server nativo. Si se ejecuta en el contexto de una tabla distribuida, esta función genera una columna normal con valores correspondientes a cada segmento. De lo contrario, devuelve un valor constante.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
UInt16
Ejemplos
Ejemplo de uso
Query
Response
throwIf
Introducido en: v1.1.0 Lanza una excepción si el argumentox es verdadero.
Para usar el argumento error_code, el parámetro de configuración allow_custom_error_code_in_throw debe estar habilitado.
Sintaxis
x— La condición que se debe comprobar.Anymessage— Opcional. Mensaje de error personalizado.const Stringerror_code— Opcional. Código de error personalizado.const Int8/16/32
0 si la condición es falsa; lanza una excepción si la condición es verdadera. UInt8
Ejemplos
Ejemplo de uso
Query
Response
toColumnTypeName
Introducido en: v1.1.0 Devuelve el nombre interno del tipo de dato del valor dado. A diferencia de la funcióntoTypeName, el tipo de dato devuelto puede incluir columnas internas contenedoras como Const y LowCardinality.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
value— Valor para el que se devuelve el tipo de dato interno.Any
String
Ejemplos
Ejemplo de uso
Query
Response
toTypeName
Introducido en: v1.1.0 Devuelve el nombre del tipo del argumento proporcionado. Si se pasaNULL, la función devuelve el tipo Nullable(Nothing), que corresponde a la representación interna de NULL en ClickHouse.
Sintaxis
x— Un valor de tipo arbitrario.Any
String
Ejemplos
Ejemplo de uso
Query
Response
tokenizeQuery
Introducido en: v26.5.0 Tokeniza una cadena de consulta SQL de ClickHouse y devuelve un array de tokens. Cada token es una tupla con nombre con la posición inicial (en bytes), la posición final y el tipo de token. Sintaxisquery— Una cadena con una consulta de ClickHouse SQL. String.
(begin UInt64, end UInt64, type Enum8(...)) que representa los tokens de la consulta. Array(Tuple(begin UInt64, end UInt64, type Enum8(...)))
Ejemplos
simple
Query
Response
transactionID
Introducido en: v22.6.0 Devuelve el ID de una transacción.Esta función forma parte de una característica experimental.
Habilite la compatibilidad experimental con transacciones añadiendo este SETTING a su configuración:Para obtener más información, consulte la página compatibilidad transaccional (ACID).
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
start_csn, local_tid, host_id y session_node_version.
start_csn: Número secuencial global; la marca temporal de confirmación más reciente observada al iniciarse esta transacción.local_tid: Número secuencial local, único para cada transacción iniciada por este host dentro de unstart_csnespecífico.host_id: UUID del host que inició esta transacción.session_node_version: Versión del znode de session del host al inicio de la transacción; permite que los peers detecten un TID de sesión terminada entre réplicas.Tuple(UInt64, UInt64, UUID, Int64)
Query
Response
transactionLatestSnapshot
Introducido en: v22.6.0 Devuelve la instantánea más reciente (Commit Sequence Number) de una transacción disponible para lectura.Esta función forma parte de un conjunto de características experimentales. Habilite la compatibilidad experimental con transacciones añadiendo esta configuración a su archivo de configuración:Para obtener más información, consulte la página Compatibilidad transaccional (ACID).
- Ninguno.
UInt64
Ejemplos
Ejemplo de uso
Query
Response
transactionOldestSnapshot
Introducido en: v22.6.0 Devuelve la instantánea más antigua (Commit Sequence Number) visible para alguna transacción en ejecución.Esta función forma parte de un conjunto de características experimentales. Habilite la compatibilidad experimental con transacciones añadiendo esta configuración a su configuración:Para obtener más información, consulte la página Compatibilidad transaccional (ACID).
- Ninguno.
UInt64
Ejemplos
Ejemplo de uso
Query
Response
transform
Introducido en: v1.1.0 Transforma un valor según una asignación definida explícitamente de unos elementos a otros. Hay dos variantes de esta función:transform(x, array_from, array_to, default)- transformaxmediante arrays de asignación, con un valor predeterminado para los elementos que no coincidantransform(x, array_from, array_to)- realiza la misma transformación, pero devuelve elxoriginal si no se encuentra ninguna coincidencia
x en array_from y devuelve el elemento correspondiente de array_to en el mismo índice.
Si x no se encuentra en array_from, devuelve el valor default (versión de 4 parámetros) o el x original (versión de 3 parámetros).
Si hay varios elementos coincidentes en array_from, devuelve el elemento correspondiente a la primera coincidencia.
Requisitos:
array_fromyarray_todeben tener el mismo número de elementos- Para la versión de 4 parámetros:
transform(T, Array(T), Array(U), U) -> UdondeTyUpueden ser tipos compatibles distintos - Para la versión de 3 parámetros:
transform(T, Array(T), Array(T)) -> Tdonde todos los tipos deben ser iguales
x— Valor que se va a transformar.(U)Int*oDecimaloFloat*oStringoDateoDateTimearray_from— Array constante de valores en el que buscar coincidencias.Array((U)Int*)oArray(Decimal)oArray(Float*)oArray(String)oArray(Date)oArray(DateTime)array_to— Array constante de valores que se devolverán para las coincidencias correspondientes dearray_from.Array((U)Int*)oArray(Decimal)oArray(Float*)oArray(String)oArray(Date)oArray(DateTime)default— Opcional. Valor que se devolverá sixno se encuentra enarray_from. Si se omite, devuelve x sin cambios.(U)Int*oDecimaloFloat*oStringoDateoDateTime
array_to si x coincide con un elemento de array_from; de lo contrario, devuelve default (si se proporciona) o x (si no se proporciona default). Any
Ejemplos
transform(T, Array(T), Array(U), U) -> U
Query
Response
Query
Response
uniqThetaIntersect
Introducido en: v22.9.0 Calcula la intersección de dos objetosuniqThetaSketch (operación de conjuntos ∩); el resultado es un nuevo uniqThetaSketch.
Sintaxis
uniqThetaSketch— objeto uniqThetaSketch.TupleoArrayoDateoDateTimeoStringo(U)Int*oFloat*oDecimal
intersect. UInt64
Ejemplos
Ejemplo de uso
Query
Response
uniqThetaNot
Introducido en: v22.9.0 Dados dos objetos uniqThetaSketch, realiza el cálculo a_not_b (operación de conjuntos ×) y el resultado es un nuevo uniqThetaSketch. SintaxisuniqThetaSketch— objeto uniqThetaSketch.TupleoArrayoDateoDateTimeoStringo(U)Int*oFloat*oDecimal
UInt64
Ejemplos
Ejemplo de uso
Query
Response
uniqThetaUnion
Introducido en: v22.9.0 Une dos objetos uniqThetaSketch para realizar el cálculo de unión (operación de conjuntos ∪); el resultado es un nuevo uniqThetaSketch. SintaxisuniqThetaSketch— objeto uniqThetaSketch.TupleoArrayoDateoDateTimeoStringo(U)Int*oFloat*oDecimal
UInt64
Ejemplos
Ejemplo de uso
Query
Response
uptime
Introducido en: v1.1.0 Devuelve el tiempo de actividad del servidor en segundos. Si se ejecuta en el contexto de una tabla distribuida, esta función genera una columna normal con valores correspondientes a cada segmento. De lo contrario, produce un valor constante.Esta función no es determinista: puede devolver resultados distintos para los mismos argumentos.
- Ninguno.
UInt32
Ejemplos
Ejemplo de uso
Query
Response
variantElement
Introducido en: v25.2.0 Extrae una columna del tipo especificado de una columnaVariant.
Sintaxis
variant— columna de tipo Variant.Varianttype_name— El nombre del tipo de variante que se va a extraer.Stringdefault_value— El valor predeterminado que se usará sivariantno tiene una variante del tipo especificado. Puede ser de cualquier tipo. Opcional.Any
Any
Ejemplos
Ejemplo de uso
Query
Response
variantType
Introducido en: v24.2.0 Devuelve el nombre del tipo de variante de cada fila de una columnaVariant. Si una fila contiene NULL, devuelve ‘None’.
Sintaxis
variant— columna de tipo Variant.Variant
Enum
Ejemplos
Ejemplo de uso
Query
Response
version
Introducido en: v1.1.0 Devuelve la versión actual de ClickHouse como una cadena con el formato:major_version.minor_version.patch_version.number_of_commits_since_the_previous_stable_release.
Si se ejecuta en el contexto de una tabla distribuida, esta función genera una columna normal con valores correspondientes a cada segmento.
En caso contrario, produce un valor constante.
Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
visibleWidth
Introducido en: v1.1.0 Calcula el ancho aproximado al mostrar valores en la consola en formato de texto (separado por tabulaciones). El sistema usa esta función para implementar los formatos Pretty.NULL se representa como una cadena correspondiente a NULL en los formatos Pretty.
Sintaxis
x— Un valor de cualquier tipo de datos.Any
UInt64
Ejemplos
Calcular el ancho visible de NULL
Query
Response
zookeeperSessionUptime
Introducido en: v21.11.0 Devuelve el tiempo de actividad de la sesión actual de ZooKeeper en segundos.Esta función no es determinista: puede devolver resultados diferentes para los mismos argumentos.
- Ninguno.
UInt32
Ejemplos
Ejemplo de uso
Query
Response