La documentación sobre funciones que aparece a continuación se genera a partir de la tabla del sistema
system.functions.FQDN
fullHostName
Argumentos
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
MACNumToString
UInt64 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
s— Cadena con la dirección MAC.String
UInt64
Ejemplos
Ejemplo de uso
Query
Response
MACStringToOUI
s— Cadena con la dirección MAC.String
UInt64
Ejemplos
Ejemplo de uso
Query
Response
authenticatedUser
authUser
Argumentos
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
bar
x— 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
- Ninguno.
UInt64
Ejemplos
Uso básico
Query
Response
blockSerializedSize
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
- Ninguno.
UInt64
Ejemplos
Ejemplo de uso
Query
Response
buildId
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
byteSize
String, 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
catboostEvaluate
features).
Requisitos previos
- Compilar la biblioteca de evaluación de catboost
libcatboostmodel.<so|dylib> debe estar disponible. Consulta la documentación de CatBoost para ver cómo compilarla.
A continuación, especifica la ruta a libcatboostmodel.<so|dylib> en la configuración de ClickHouse:
catboostEvaluate(), el servidor inicia el proceso clickhouse-library-bridge si aún no está en ejecución. Ambos procesos
se comunican mediante una interfaz HTTP. De forma predeterminada, se utiliza el puerto 9012. Se puede especificar un puerto diferente de la siguiente manera; esto resulta útil si el puerto
9012 ya está asignado a otro servicio.
- Entrene un modelo catboost con libcatboost
path_to_model— Ruta al modelo de CatBoost.const Stringfeature— Una o más características/argumentos del modelo.Float*
Float64
Ejemplos
catboostEvaluate
Query
Response
colorOKLABToSRGB
- 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. 2) 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
L 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. 2) OKLab a sRGB lineal 3) 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
[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 2) 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
[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 2) sRGB lineal a OKLab 3) 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
CONNECTION_ID de MySQL.
No suele utilizarse en consultas de producción.
Sintaxis
- Ninguno.
UInt64
Ejemplos
Ejemplo de uso
Query
Response
countDigits
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
CREATE TABLE en las que necesitas especificar la base de datos.
Consulta también la sentencia SET.
Sintaxis
current_database, SCHEMA, DATABASE
Argumentos
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
currentProfiles
- Ninguno.
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
currentQueryID
current_query_id
Argumentos
- Ninguno.
Query
Response
currentRoles
- Ninguno.
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
currentSchemas
currentDatabase, 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.
Sintaxis
current_schemas
Argumentos
bool— Un valor booleano que se ignora.Bool
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
currentUser
session_user, user, current_user
Argumentos
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
defaultProfiles
- Ninguno.
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
defaultRoles
- Ninguno.
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
defaultValueOfArgumentType
expression— 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
type— 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
displayName
display_name de configuración o el nombre de dominio completo (FQDN) del servidor si no está configurado.
Sintaxis
- Ninguno.
display_name de la configuración o el FQDN del servidor si no está definido. String
Ejemplos
Ejemplo de uso
Query
Response
dumpColumnStructure
x— Valor cuya descripción se quiere obtener.Any
String
Ejemplos
Ejemplo de uso
Query
Response
enabledProfiles
- Ninguno.
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
enabledRoles
- Ninguno.
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
errorCodeToName
error_code. String
Ejemplos
Ejemplo de uso
Query
Response
file
file.
Sintaxis
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
filesystemUnreserved) porque parte del espacio está reservado para el sistema operativo.
Sintaxis
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
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
filesystemFree).
Véase también filesystemAvailable.
Sintaxis
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
state— Estado de agregación.AggregateFunction
Any
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
flipCoordinates
geometry— La geometría que se va a transformar. Tipos admitidos: Point (Tuple(Float64, Float64)), 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 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
query— La consulta SQL que se va a formatear. String
String
Ejemplos
multiline
Query
Response
formatQueryOrNull
query— La consulta SQL que se va a formatear. String
String
Ejemplos
multilínea
Query
Response
formatQuerySingleLine
query— La consulta SQL que se va a formatear. String
String
Ejemplos
multiline
Query
Response
formatQuerySingleLineOrNull
query— La consulta SQL que se va a dar formato.String
String
Ejemplos
multilínea
Query
Response
formatReadableDecimalSize
parseReadableSize.
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
Float64.
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
parseReadableSize, 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
INTERVAL, 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
allow_fuzz_query_functions = 1.
Sintaxis
query— La consulta SQL a la que se aplicará fuzzing. String
String
Ejemplos
básico
Query
Response
generateRandomStructure
column1_name column1_type, column2_name column2_type, ....
Sintaxis
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
series_keeper_path en la configuración del servidor.
Sintaxis
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
Authentication y X-ClickHouse-*) están restringidas.
Se requiere la configuración
allow_get_client_http_headerLa función requiere que la configuración allow_get_client_http_header esté habilitada.
Esta configuración no está habilitada de forma predeterminada por motivos de seguridad, ya que algunas cabeceras, como Cookie, podrían contener información confidencial.name— El nombre de la cabecera HTTP.String
String
Ejemplos
Ejemplo de uso
Query
Response
getMacro
<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.
Sintaxis
name— El nombre de la macro que se va a obtener.const String
String
Ejemplos
Uso básico
Query
Response
getMaxTableNameLengthForDatabase
database_name— El nombre de la base de datos especificada.String
Query
Response
getMergeTreeSetting
setting_name— El nombre del SETTING.String
Query
Response
getOSKernelVersion
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
getServerPort
port_name— Nombre del puerto.String
UInt16
Ejemplos
Ejemplo de uso
Query
Response
getServerSetting
setting_name— El nombre del SETTING del servidor.String
Any
Ejemplos
Ejemplo de uso
Query
Response
getSetting
setting_Name— El nombre del SETTING.const String
Any
Ejemplos
Ejemplo de uso
Query
Response
getSettingOrDefault
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
Enum proporcionado.
Sintaxis
x— Valor de tipoEnum.Enum
Enum. UInt8/16
Ejemplos
Ejemplo de uso
Query
Response
getSubcolumn
- Ninguno.
Query
Response
getTypeSerializationStreams
col— 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
name— Nombre de la variable global.String
name. Any
Ejemplos
globalVariable
Query
Response
hasColumnInTable
0.
Sintaxis
database— Nombre de la base de datos.const Stringtable— Nombre de la tabla.const Stringcolumn— Nombre de la columna.const Stringhostname— Opcional. Nombre del servidor remoto en el que realizar la comprobación.const Stringusername— Opcional. Nombre de usuario del servidor remoto.const Stringpassword— Opcional. Contraseña del servidor remoto.const String
1 si la columna indicada existe; en caso contrario, 0. UInt8
Ejemplos
Comprobar si existe una columna
Query
Response
Query
Response
hasThreadFuzzer
- Ninguno.
UInt8
Ejemplos
Comprobar el estado de Thread Fuzzer
Query
Response
highlightQuery
query— 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
hostname
Argumentos
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
icebergBucket
N— 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
icebergTruncate
truncate de Iceberg: https://iceberg.apache.org/spec/#truncate-transform-details.
Sintaxis
Query
Response
identity
x— Valor de entrada.Any
Any
Ejemplos
Ejemplo de uso
Query
Response
ignore
0.
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
indexHint.
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
initial_query_id en system.query_log.
A diferencia de la función queryID, initialQueryID devuelve los mismos resultados en diferentes segmentos.
Sintaxis
initial_query_id
Argumentos
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
initialQueryStartTime
initialQueryStartTime devuelve los mismos resultados en diferentes segmentos.
Sintaxis
initial_query_start_time
Argumentos
- Ninguno.
DateTime
Ejemplos
Ejemplo de uso
Query
Response
initializeAggregation
AggregateFunction, 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
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
value— 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
Solo admite tablas creadas con la instrucción
ENGINE = Join(ANY, LEFT, <join_keys>) sentencia.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
joinGet, devuelve NULL cuando la clave no existe.
Solo admite tablas creadas con la
ENGINE = Join(ANY, LEFT, <join_keys>) sentencia.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
col— Una columna de baja cardinalidad.LowCardinality
UInt64
Ejemplos
Ejemplos de uso
Query
Response
lowCardinalityKeys
col— Una columna de baja cardinalidad.LowCardinality
UInt64
Ejemplos
lowCardinalityKeys
Query
Response
materialize
x— Una constante.Any
Any
Ejemplos
Ejemplo de uso
Query
Response
minSampleSizeContinuous
minSampleSizeContinous
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
baseline— 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
allow_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
?.
Sintaxis
x— Secuencia de caracteres.String
String
Ejemplos
Ejemplo de uso
Query
Response
normalizeQueryKeepNames
?, 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
x— Secuencia de caracteres.String
UInt64
Ejemplos
Ejemplo de uso
Query
Response
normalizedQueryHashKeepNames
normalizedQueryHash, 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
tag 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
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
obfuscateQuery(), 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
parseReadableSize
B, 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
B, 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
B, 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
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
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
queryID
query_id de la tabla system.query_log.
A diferencia de la función initialQueryID, queryID puede devolver resultados diferentes en distintos segmentos.
Sintaxis
query_id
Argumentos
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
revision
- Ninguno.
UInt32
Ejemplos
Ejemplo de uso
Query
Response
rowNumberInAllBlocks
- Ninguno.
0. UInt64
Ejemplos
Ejemplo de uso
Query
Response
rowNumberInBlock
rowNumberInBlock, devuelve el número de la fila actual.
El número devuelto comienza en 0 en cada bloque.
Sintaxis
- Ninguno.
0. UInt64
Ejemplos
Ejemplo de uso
Query
Response
runningAccumulate
agg_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
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
0 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 procesados y del orden de los datos dentro del 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 entre valores consecutivos.Any
Query
Response
Query
Response
runningDifferenceStartingWithFirstValue
runningDifference, 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
- Ninguno.
UUID
Ejemplos
Ejemplo de uso
Query
Response
0.
Sintaxis
- Ninguno.
0. UInt32
Ejemplos
Ejemplo de uso
Query
Response
1.
Si una consulta no es distribuida, se devuelve el valor constante 0.
Sintaxis
- Ninguno.
0. UInt32
Ejemplos
Ejemplo de uso
Query
Response
showCertificate
- Ninguno.
Map(String, String)
Ejemplos
Ejemplo de uso
Query
Response
sleep
sleep() 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
sleepEachRow() 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 punto flotante para especificar fracciones de segundo.const UInt*oconst Float*
0 para cada fila. UInt8
Ejemplos
Ejemplo de uso
Query
Response
structureToCapnProtoSchema
- Ninguno.
Query
Response
structureToProtobufSchema
structure— 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
- Ninguno.
UInt16
Ejemplos
Ejemplo de uso
Query
Response
throwIf
x 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
toTypeName, el tipo de dato devuelto puede incluir columnas internas contenedoras como Const y LowCardinality.
Sintaxis
value— Valor para el que se devuelve el tipo de dato interno.Any
String
Ejemplos
Ejemplo de uso
Query
Response
toTypeName
NULL, 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
query— 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
Esta función forma parte de un conjunto de funcionalidades experimentales.
Habilite la compatibilidad experimental con transacciones añadiendo este ajuste a su configuración:Para obtener más información, consulte la página compatibilidad transaccional (ACID).
- Ninguno.
start_csn, local_tid y host_id.
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.Tuple(UInt64, UInt64, UUID)
Query
Response
transactionLatestSnapshot
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
Esta función forma parte de un conjunto de características experimentales. Habilite la compatibilidad con transacciones experimentales 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
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
uniqThetaSketch (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
uniqThetaSketch— objeto uniqThetaSketch.TupleoArrayoDateoDateTimeoStringo(U)Int*oFloat*oDecimal
UInt64
Ejemplos
Ejemplo de uso
Query
Response
uniqThetaUnion
uniqThetaSketch— objeto uniqThetaSketch.TupleoArrayoDateoDateTimeoStringo(U)Int*oFloat*oDecimal
UInt64
Ejemplos
Ejemplo de uso
Query
Response
uptime
- Ninguno.
UInt32
Ejemplos
Ejemplo de uso
Query
Response
variantElement
Variant.
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
Variant. Si una fila contiene NULL, devuelve ‘None’.
Sintaxis
variant— columna de tipo Variant.Variant
Enum
Ejemplos
Ejemplo de uso
Query
Response
version
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.
Sintaxis
- Ninguno.
String
Ejemplos
Ejemplo de uso
Query
Response
visibleWidth
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
- Ninguno.
UInt32
Ejemplos
Ejemplo de uso
Query
Response