A documentação das funções abaixo é gerada a partir da system table
system.functions.FQDN
fullHostName
Argumentos
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
MACNumToString
UInt64 como um endereço MAC no formato big-endian.
Retorna o endereço MAC correspondente no formato AA:BB:CC:DD:EE:FF (números hexadecimais separados por dois-pontos) como string.
Sintaxe
num— número UInt64.UInt64
String
Exemplos
Exemplo de uso
Query
Response
MACStringToNum
s— Endereço MAC em formato de string.String
UInt64
Exemplos
Exemplo de uso
Query
Response
MACStringToOUI
s— endereço MAC em formato de string.String
UInt64
Exemplos
Exemplo de uso
Query
Response
authenticatedUser
authUser
Argumentos
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
bar
x— Tamanho a exibir.(U)Int*ouFloat*ouDecimalmin— O valor mínimo.(U)Int*ouFloat*ouDecimalmax— O valor máximo.(U)Int*ouFloat*ouDecimalwidth— Opcional. A largura da barra em caracteres. O padrão é80.const (U)Int*ouconst Float*ouconst Decimal
String
Exemplos
Exemplo de uso
Query
Response
blockNumber
- Nenhum.
UInt64
Exemplos
Uso básico
Query
Response
blockSerializedSize
x1[, x2, ...]— Qualquer quantidade de valores dos quais se deseja obter o tamanho não comprimido do bloco.Any
UInt64
Exemplos
Exemplo de uso
Query
Response
blockSize
- Nenhum.
UInt64
Exemplos
Exemplo de uso
Query
Response
buildId
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
byteSize
String, a função retorna o comprimento da string + 8 (comprimento).
Se a função tiver vários argumentos, ela acumula seus tamanhos em bytes.
Sintaxe
arg1[, arg2, ...]— Valores de qualquer tipo de dado cujos tamanhos em bytes não comprimidos devem ser estimados.Any
UInt64
Exemplos
Exemplo de uso
Query
Response
Query
Response
catboostEvaluate
features).
Pré-requisitos
- Compile a biblioteca de avaliação do CatBoost
libcatboostmodel.<so|dylib> deve estar disponível. Consulte a documentação do CatBoost para saber como compilá-la.
Em seguida, especifique o caminho para libcatboostmodel.<so|dylib> na configuração do ClickHouse:
catboostEvaluate(), o servidor inicia o processo clickhouse-library-bridge, caso ele ainda não esteja em execução. Ambos os processos
se comunicam por meio de uma interface HTTP. Por padrão, a porta 9012 é usada. Uma porta diferente pode ser especificada da seguinte forma - isso é útil se a porta
9012 já estiver atribuída a outro serviço.
- Treine um modelo catboost usando a libcatboost
path_to_model— Caminho para o modelo CatBoost.const Stringfeature— Um ou mais atributos/argumentos do modelo.Float*
Float64
Exemplos
catboostEvaluate
Query
Response
colorOKLABToSRGB
- L: luminosidade perceptual (normalmente no intervalo [0..1])
- a: eixo oponente verde-vermelho
- b: eixo oponente azul-amarelo
- Conversão de OKLab para Linear sRGB. 2) Conversão de Linear sRGB para sRGB com codificação gama.
tuple— Uma tupla de três valores numéricosL,a,b, em queLestá no intervalo[0...1].Tuple(Float64, Float64, Float64)gamma— Opcional. O expoente usado para converter o Linear sRGB de volta para sRGB, aplicando(x ^ (1 / gamma)) * 255a cada canalx. O padrão é2.2.Float64
Tuple(Float64, Float64, Float64)
Exemplos
Converta OKLAB para sRGB (Float)
Query
Response
Query
Response
colorOKLCHToSRGB
L estiver fora do intervalo [0...1], C for negativo ou H estiver fora do intervalo [0...360], o resultado será definido pela implementação.
OKLCH é uma versão cilíndrica do espaço de cores OKLab.
Suas três coordenadas são
L (a luminosidade no intervalo [0...1]), C (croma >= 0) e H (matiz em graus no intervalo [0...360]).
OKLab/OKLCH foi projetado para ser perceptualmente uniforme, mantendo baixo custo computacional.colorSRGBToOKLCH:
- OKLCH para OKLab. 2) OKLab para Linear sRGB 3) Linear sRGB para sRGB
tuple— Uma tupla de três valores numéricosL,C,H, em queLestá no intervalo[0...1],C >= 0eHestá no intervalo[0...360].Tuple(Float64, Float64, Float64)gamma— Opcional. O expoente usado para converter Linear sRGB de volta para sRGB, aplicando(x ^ (1 / gamma)) * 255a cada canalx. O padrão é2.2.Float64
Tuple(Float64, Float64, Float64)
Exemplos
Converter OKLCH para sRGB
Query
Response
Query
Response
colorSRGBToOKLAB
[0...255] ou se o valor de gamma não for positivo, o comportamento depende da implementação.
OKLAB é um espaço de cores perceptualmente uniforme.
Suas três coordenadas são
L (a luminosidade no intervalo [0...1]), a (eixo Verde-Vermelho) e b (eixo Azul-Amarelo).
O OKLab foi projetado para ser perceptualmente uniforme, mantendo baixo custo computacional.- sRGB para Linear sRGB 2) Linear sRGB para OKLab
tuple— Tupla de três valores R, G, B no intervalo[0...255].Tuple(UInt8, UInt8, UInt8)gamma— Opcional. Expoente usado para linearizar o sRGB, aplicando(x / 255)^gammaa cada canalx. O padrão é2.2.Float64
Tuple(Float64, Float64, Float64)
Exemplos
Converta sRGB para OKLAB
Query
Response
colorSRGBToOKLCH
[0...255] ou se o valor de gamma não for positivo, o comportamento é definido pela implementação.
OKLCH é uma versão cilíndrica do espaço de cores OKLab.
Suas três coordenadas são
L (a luminosidade no intervalo [0...1]), C (croma >= 0) e H (a matiz em graus no intervalo [0...360]).
OKLab/OKLCH foi projetado para ser perceptualmente uniforme, mantendo baixo custo computacional.- sRGB para Linear sRGB 2) Linear sRGB para OKLab 3) OKLab para OKLCH.
tuple—Tuplede três valores R, G, B no intervalo[0...255].Tuple(UInt8, UInt8, UInt8)gamma— Opcional. Expoente usado para linearizar o sRGB, aplicando(x / 255)^gammaa cada canalx. O padrão é2.2.Float64
Tuple(Float64, Float64, Float64)
Exemplos
Converter sRGB em OKLCH
Query
Response
connectionId
CONNECTION_ID do MySQL.
Ela normalmente não é usada em consultas em produção.
Sintaxe
- Nenhum.
UInt64
Exemplos
Exemplo de uso
Query
Response
countDigits
Esta função leva em conta as escalas dos valores decimais, ou seja, calcula o resultado com base no tipo inteiro subjacente, que é
(value * scale).Por exemplo:countDigits(42) = 2countDigits(42.000) = 5countDigits(0.04200) = 4
x. UInt8
Exemplos
Exemplo de uso
Query
Response
currentDatabase
CREATE TABLE nas quais você precisa especificar o banco de dados.
Veja também a instrução SET.
Sintaxe
current_database, SCHEMA, DATABASE
Argumentos
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
Query
Response
currentProfiles
- Nenhum.
Array(String)
Exemplos
Exemplo de uso
Query
Response
currentQueryID
current_query_id
Argumentos
- Nenhum.
Query
Response
currentRoles
- Nenhum.
Array(String)
Exemplos
Exemplo de uso
Query
Response
currentSchemas
currentDatabase, mas
- aceita um argumento booleano que é ignorado
- retorna o nome do banco de dados como um Array com um único valor.
currentSchemas existe apenas para compatibilidade com o PostgreSQL.
Use currentDatabase.
Veja também a instrução SET.
Sintaxe
current_schemas
Argumentos
bool— Um valor booleano, que é ignorado.Bool
Array(String)
Exemplos
Exemplo de uso
Query
Response
currentUser
session_user, user, current_user
Argumentos
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
Query
Response
defaultProfiles
- Nenhum.
Array(String)
Exemplos
Exemplo de uso
Query
Response
defaultRoles
- Nenhum.
Array(String)
Exemplos
Exemplo de uso
Query
Response
defaultValueOfArgumentType
expression— Tipo arbitrário de valor ou uma expressão que resulta em um valor de tipo arbitrário.Any
0 para números, uma string vazia para Strings ou NULL para tipos Nullable. UInt8 ou String ou NULL
Exemplos
Exemplo de uso
Query
Response
Query
Response
defaultValueOfTypeName
type— Uma string que representa um nome de tipo.String
0 para números, uma string vazia para strings, ou NULL para UInt8 Nullable, String Nullable ou NULL
Exemplos
Exemplo de uso
Query
Response
Query
Response
displayName
display_name de config ou o Fully Qualified Domain Name (FQDN) do servidor, caso não esteja definido.
Sintaxe
- Nenhum.
display_name da config ou o FQDN do servidor, caso não esteja definido. String
Exemplos
Exemplo de uso
Query
Response
dumpColumnStructure
x— Valor do qual se deseja obter a descrição.Any
String
Exemplos
Exemplo de uso
Query
Response
enabledProfiles
- Nenhum.
Array(String)
Exemplos
Exemplo de uso
Query
Response
enabledRoles
- Nenhum.
Array(String)
Exemplos
Exemplo de uso
Query
Response
errorCodeToName
error_code. String
Exemplos
Exemplo de uso
Query
Response
file
file.
Sintaxe
path— O caminho do arquivo em relação auser_files_path. Suporta curingas*,**,?,{abc,def}e{N..M}, em queNeMsão números e'abc'e'def'são strings.Stringdefault— O valor retornado se o arquivo não existir ou não puder ser acessado.StringouNULL
String
Exemplos
Inserir arquivos em uma tabela
Query
Response
filesystemAvailable
filesystemUnreserved), porque parte do espaço é reservada para o sistema operacional.
Sintaxe
disk_name— Opcional. O nome do disco para o qual encontrar a quantidade de espaço livre. Se omitido, usa o disco padrão.StringouFixedString
UInt64
Exemplos
Exemplo de uso
Query
Response
filesystemCapacity
disk_name— Opcional. O nome do disco cuja capacidade será obtida. Se omitido, usa o disco padrão.StringouFixedString
UInt64
Exemplos
Exemplo de uso
Query
Response
filesystemUnreserved
filesystemFree).
Veja também filesystemAvailable.
Sintaxe
disk_name— Opcional. O nome do disco para o qual será buscada a quantidade total de espaço livre. Se omitido, usa o disco padrão.StringouFixedString
UInt64
Exemplos
Exemplo de uso
Query
Response
finalizeAggregation
state— Estado da agregação.AggregateFunction
Any
Exemplos
Exemplo de uso
Query
Response
Query
Response
flipCoordinates
geometry— A geometria a ser transformada. Tipos suportados: Point (Tuple(Float64, Float64)), Ring (Array(Point)), Polygon (Array(Ring)), MultiPolygon (Array(Polygon)), LineString (Array(Point)), MultiLineString (Array(LineString)) ou Geometry (uma variante que contém qualquer um desses tipos).
Point ou Ring ou Polygon ou MultiPolygon ou LineString ou MultiLineString ou Geometry
Exemplos
basic_point
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
formatQuery
query— A consulta SQL a ser formatada. String
String
Exemplos
multilinha
Query
Response
formatQueryOrNull
query— A consulta SQL a ser formatada. String
String
Exemplos
múltiplas linhas
Query
Response
formatQuerySingleLine
formatQuery(), mas a string formatada retornada não contém quebras de linha. Lança uma exceção em caso de erro de parsing.
[example:multiline]
Sintaxe
query— A consulta SQL a ser formatada. String
String
Exemplos
múltiplas linhas
Query
Response
formatQuerySingleLineOrNull
query— A consulta SQL a ser formatada.String
String
Exemplos
múltiplas linhas
Query
Response
formatReadableDecimalSize
parseReadableSize.
Sintaxe
value— Tamanho em bytes.Int8ouInt16ouInt32ouInt64ouUInt8ouUInt16ouUInt32ouUInt64ouFloat32ouFloat64ouDecimalprecision— Opcional. Número de dígitos após o separador decimal. O padrão é 2.const UInt8
String
Exemplos
Formatar tamanhos de arquivo
Query
Response
Query
Response
formatReadableQuantity
Float64.
Os resultados podem não ser ideais com valores grandes.
Sintaxe
value— Um número a ser formatado.Int8ouInt16ouInt32ouInt64ouUInt8ouUInt16ouUInt32ouUInt64ouFloat32ouFloat64ouDecimalprecision— Opcional. Número de dígitos após o separador decimal. O padrão é 2.const UInt8
String
Exemplos
Formatar números com sufixos
Query
Response
Query
Response
formatReadableSize
parseReadableSize, parseReadableSizeOrZero e parseReadableSizeOrNull.
Esta função aceita qualquer tipo numérico como entrada, mas internamente os converte para Float64. Os resultados podem não ser ideais com valores grandes.
Sintaxe
FORMAT_BYTES
Argumentos
value— Tamanho em bytes.Int8ouInt16ouInt32ouInt64ouUInt8ouUInt16ouUInt32ouUInt64ouFloat32ouFloat64ouDecimalprecision— Opcional. Número de dígitos após o separador decimal. O padrão é 2.const UInt8
String
Exemplos
Formatar tamanhos de arquivos
Query
Response
Query
Response
formatReadableTimeDelta
INTERVAL, esta função retorna esse delta como uma string em ano/mês/dia/hora/minuto/segundo/milissegundo/microssegundo/nanosegundo.
Esta função aceita qualquer tipo numérico como entrada, mas internamente converte esses valores para Float64. Os resultados podem não ser ideais com valores altos.
Quando uma expressão INTERVAL é passada, seu valor é convertido em segundos. Unidades de INTERVAL de MONTH e superiores (MONTH, QUARTER, YEAR) não são compatíveis, pois não representam um intervalo de tamanho fixo em segundos.
Sintaxe
column— Uma coluna com uma diferença de tempo numérica ou uma expressãoINTERVAL. Unidades de intervaloMONTHe superiores não são compatíveis.Float64ouIntervalmaximum_unit— Opcional. Unidade máxima a ser exibida. Valores aceitos:nanoseconds,microseconds,milliseconds,seconds,minutes,hours,days,months,years. Valor padrão:years.const Stringminimum_unit— Opcional. Unidade mínima a ser exibida. Todas as unidades menores são truncadas. Valores aceitos:nanoseconds,microseconds,milliseconds,seconds,minutes,hours,days,months,years. Se o valor especificado explicitamente for maior quemaximum_unit, uma exceção será lançada. Valor padrão:secondssemaximum_unitforsecondsou maior; caso contrário,nanoseconds.const String
String
Exemplos
Exemplo de uso
Query
Response
Query
Response
Query
Response
fuzzQuery
allow_fuzz_query_functions = 1.
Sintaxe
query— A consulta SQL a ser submetida a fuzzing. String
String
Exemplos
básico
Query
Response
generateRandomStructure
column1_name column1_type, column2_name column2_type, ....
Sintaxe
number_of_columns— O número desejado de colunas na estrutura da tabela resultante. Se definido como 0 ouNull, o número de colunas será aleatório, entre 1 e 128. Valor padrão:Null.UInt64seed— Semente aleatória para gerar resultados estáveis. Seseednão for especificado ou for definido comoNull, será gerado aleatoriamente.UInt64
String
Exemplos
Exemplo de uso
Query
Response
Query
Response
Query
Response
generateSerialID
series_keeper_path na configuração do servidor.
Sintaxe
series_identifier— Identificador da sérieconst Stringstart_value— Opcional. Valor inicial do contador. O padrão é 0. Observação: esse valor só é usado ao criar uma nova série e é ignorado se a série já existirUInt*
UInt64
Exemplos
primeira chamada
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
getClientHTTPHeader
Authentication e X-ClickHouse-*) são restritos.
A configuração
allow_get_client_http_header é obrigatóriaA função exige que a configuração allow_get_client_http_header esteja habilitada.
Por motivos de segurança, essa configuração não vem habilitada por padrão, pois alguns cabeçalhos, como Cookie, podem conter informações sensíveis.name— O nome do cabeçalho HTTP.String
String
Exemplos
Exemplo de uso
Query
Response
getMacro
<macros> do arquivo de configuração e podem ser usadas para diferenciar servidores por nomes convenientes, mesmo que tenham hostname complexos.
Se a função for executada no contexto de uma tabela distribuída, ela gerará uma coluna normal com valores correspondentes a cada shard.
Sintaxe
name— O nome da macro a ser obtida.const String
String
Exemplos
Uso básico
Query
Response
getMaxTableNameLengthForDatabase
database_name— O nome do banco de dados especificado.String
Query
Response
getMergeTreeSetting
setting_name— O nome da configuração.String
Query
Response
getOSKernelVersion
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
getServerPort
port_name— Nome da porta.String
UInt16
Exemplos
Exemplo de uso
Query
Response
getServerSetting
setting_name— O nome da configuração do servidor.String
Any
Exemplos
Exemplo de uso
Query
Response
getSetting
setting_Name— O nome da configuração.const String
Any
Exemplos
Exemplo de uso
Query
Response
getSettingOrDefault
setting_name— O nome da configuração.Stringdefault_value— Valor a ser retornado caso custom_setting não esteja definida. O valor pode ser de qualquer tipo de dado ou Null.
default_value caso a configuração não esteja definida.
Exemplos
Exemplo de uso
Query
Response
getSizeOfEnumType
Enum fornecido.
Sintaxe
x— Valor do tipoEnum.Enum
Enum. UInt8/16
Exemplos
Exemplo de uso
Query
Response
getSubcolumn
- Nenhum.
Query
Response
getTypeSerializationStreams
col— Coluna ou representação textual de um tipo de dado a partir do qual o tipo de dado será detectado.Any
Array(String)
Exemplos
tuple
Query
Response
Query
Response
globalVariable
name— Nome da variável global.String
name. Any
Exemplos
globalVariable
Query
Response
hasColumnInTable
0.
Sintaxe
database— Nome do banco de dados.const Stringtable— Nome da tabela.const Stringcolumn— Nome da coluna.const Stringhostname— Opcional. Nome do servidor remoto em que a verificação será realizada.const Stringusername— Opcional. Nome de usuário do servidor remoto.const Stringpassword— Opcional. Senha do servidor remoto.const String
1 se a coluna informada existir, 0 caso contrário. UInt8
Exemplos
Verificar uma coluna existente
Query
Response
Query
Response
hasThreadFuzzer
- Nenhum.
UInt8
Exemplos
Verificar o status do Thread Fuzzer
Query
Response
highlightQuery
query— Uma string de consulta em ClickHouse SQL. String.
(begin UInt64, end UInt64, type Enum8(...)) que representa intervalos destacados. Array(Tuple(begin UInt64, end UInt64, type Enum8(...)))
Exemplos
simples
Query
Response
hostName
hostname
Argumentos
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
icebergBucket
N— O número de buckets, módulo.const (U)Int*value— O valor de entrada a ser transformado.(U)Int*ouBoolouDecimalouFloat*ouStringouFixedStringouUUIDouDateouTimeouDateTime
Int32
Exemplos
Exemplo
Query
Response
icebergTruncate
Query
Response
identity
identity ao procurar índices para usar e também desabilita a dobra de constantes.
Sintaxe
x— Valor de entrada.Any
Any
Exemplos
Exemplo de uso
Query
Response
ignore
0 incondicionalmente.
Sintaxe
x— Um valor de entrada que não é usado e é passado apenas para evitar um erro de sintaxe.Any
0. UInt8
Exemplos
Exemplo de uso
Query
Response
indexHint
indexHint.
Isso permite selecionar dados em intervalos do índice pela condição correspondente, mas sem aplicar filtragem adicional por essa condição.
O índice no ClickHouse é esparso, e usar indexHint retornará mais dados do que especificar a mesma condição diretamente.
Explicação
Explicação
Quando você executa:O ClickHouse faz duas coisas:O ClickHouse faz apenas uma coisa:
- Usa o índice para encontrar quais grânulos (blocos de ~8192 linhas) podem conter
key = 123 - Lê esses grânulos e filtra suas linhas para retornar apenas aquelas em que
key = 123
indexHint, quando você executa:- Usa o índice para encontrar quais grânulos podem conter
key = 123e retorna todas as linhas desses grânulos sem filtrá-las.
key = 456, key = 789 etc. (Tudo o que, por acaso, estava armazenado no mesmo grânulo.)
indexHint() não serve para melhorar o desempenho. Ele serve para depuração e para entender como o índice do ClickHouse funciona:- Quais grânulos a minha condição seleciona?
- Quantas linhas há nesses grânulos?
- Meu índice está sendo usado de forma eficaz?
indexHint. A função indexHint não otimiza a consulta, pois não fornece nenhuma informação adicional para a análise da consulta. Ter uma expressão dentro da função indexHint não é, de forma alguma, melhor do que não usar a função indexHint. A função indexHint pode ser usada apenas para fins de introspecção e depuração e não melhora o desempenho. Se você vir o uso de indexHint por alguém que não seja um colaborador do ClickHouse, provavelmente é um erro, e você deve removê-lo.
Sintaxe
expression— Qualquer expressão para seleção de intervalo de índice.Expression
1 em todos os casos. UInt8
Exemplos
Exemplo de uso com filtro por data
Query
Response
initialQueryID
initial_query_id em system.query_log.
Ao contrário da função queryID, initialQueryID retorna os mesmos resultados em diferentes shards.
Sintaxe
initial_query_id
Argumentos
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
initialQueryStartTime
initialQueryStartTime retorna os mesmos resultados em diferentes shards.
Sintaxe
initial_query_start_time
Argumentos
- Nenhum.
DateTime
Exemplos
Exemplo de uso
Query
Response
initializeAggregation
AggregateFunction ou usar agregados inicializados como valores padrão.
Sintaxe
aggregate_function— Nome da função de agregação a ser inicializada.Stringarg1[, arg2, ...]— Argumentos da função de agregação.Any
initializeAggregation recebe como primeiro argumento. Any
Exemplos
Uso básico com uniqState
Query
Response
Query
Response
isConstant
x— Uma expressão a ser verificada.Any
1 se x for constante e 0 se x não for constante. UInt8
Exemplos
Expressão constante
Query
Response
Query
Response
Query
Response
Query
Response
isDecimalOverflow
value— Valor do tipo Decimal a ser verificado.Decimalprecision— Opcional. A precisão do tipo Decimal. Se omitida, será usada a precisão inicial do primeiro argumento.UInt8
1 se o valor decimal tiver mais dígitos do que o permitido pela sua precisão e 0 se o valor decimal atender à precisão especificada. UInt8
Exemplos
Exemplo de uso
Query
Response
joinGet
Compatível apenas com tabelas criadas com a instrução
ENGINE = Join(ANY, LEFT, <join_keys>) instrução.join_storage_table_name— Um identificador que indica onde realizar a busca. O identificador é procurado no banco de dados padrão (consulte o parâmetrodefault_databaseno arquivo de configuração). Para substituir o banco de dados padrão, use a consultaUSE database_nameou especifique o banco de dados e a tabela com um ponto, como emdatabase_name.table_name.Stringvalue_column— O nome da coluna da tabela que contém os dados necessários.const Stringjoin_keys— Uma lista de chaves de junção.Any
Any
Exemplos
Exemplo de uso
Query
Response
Query
Response
Query
Response
joinGetOrNull
joinGet, retorna NULL quando a chave não existe.
Suporta apenas tabelas criadas com a instrução
ENGINE = Join(ANY, LEFT, <join_keys>).join_storage_table_name— Um identificador que indica onde realizar a busca. O identificador é procurado no banco de dados padrão (consulte o parâmetro default_database no arquivo de configuração). Para substituir o banco de dados padrão, use a consultaUSE database_nameou especifique o banco de dados e a tabela separados por um ponto, como emdatabase_name.table_name.Stringvalue_column— O nome da coluna da tabela que contém os dados necessários.const Stringjoin_keys— Uma lista de chaves de junção.Any
NULL se uma chave não for encontrada. Any
Exemplos
Exemplo de uso
Query
Response
lowCardinalityIndices
col— Uma coluna de baixa cardinalidade.LowCardinality
UInt64
Exemplos
Exemplos de uso
Query
Response
lowCardinalityKeys
col— Uma coluna de baixa cardinalidade.LowCardinality
UInt64
Exemplos
lowCardinalityKeys
Query
Response
materialize
x— Uma constante.Any
Any
Exemplos
Exemplo de uso
Query
Response
minSampleSizeContinuous
minSampleSizeContinous
Argumentos
baseline— Valor de referência de uma métrica.(U)Int*ouFloat*sigma— Desvio padrão de referência de uma métrica.(U)Int*ouFloat*mde— Efeito mínimo detectável (MDE) como porcentagem do valor de referência (por exemplo, para um valor de referência de 112.25, MDE 0.03 significa uma variação esperada para 112.25 ± 112.25*0.03).(U)Int*ouFloat*power— Poder estatístico necessário de um teste (1 - probabilidade de erro do Tipo II).(U)Int*ouFloat*alpha— Nível de significância necessário de um teste (probabilidade de erro do Tipo I).(U)Int*ouFloat*
minimum_sample_size, detect_range_lower e detect_range_upper. Eles correspondem, respectivamente, a: o tamanho de amostra necessário, o limite inferior do intervalo de valores que não podem ser detectados com o tamanho de amostra necessário retornado, calculado como baseline * (1 - mde), e o limite superior do intervalo de valores que não podem ser detectados com o tamanho de amostra necessário retornado, calculado como baseline * (1 + mde) (Float64). Tuple(Float64, Float64, Float64)
Exemplos
minSampleSizeContinuous
Query
Response
minSampleSizeConversion
baseline— Conversão de base.Float*mde— Efeito mínimo detectável (MDE), em pontos percentuais (por exemplo, para uma conversão de base de 0.25, um MDE de 0.03 significa uma mudança esperada para 0.25 ± 0.03).Float*power— Poder estatístico exigido para um teste (1 - probabilidade de erro Tipo II).Float*alpha— Nível de significância exigido para um teste (probabilidade de erro Tipo I).Float*
minimum_sample_size, detect_range_lower, detect_range_upper. Eles são, respectivamente: o tamanho de amostra exigido, o limite inferior do intervalo de valores que não podem ser detectados com o tamanho de amostra exigido retornado, calculado como baseline - mde, e o limite superior do intervalo de valores que não podem ser detectados com o tamanho de amostra exigido retornado, calculado como baseline + mde. Tuple(Float64, Float64, Float64)
Exemplos
minSampleSizeConversion
Query
Response
neighbor
allow_deprecated_error_prone_window_functions = 1.
Sintaxe
column— A coluna de origem.Anyoffset— O deslocamento em relação à linha atual. Valores positivos avançam, e valores negativos retrocedem.Integerdefault_value— Opcional. O valor retornado se o deslocamento ultrapassar os limites dos dados. Se não for especificado, usa o valor padrão do tipo da coluna.Any
Any
Exemplos
Exemplo de uso
Query
Response
Query
Response
normalizeQuery
?.
Sintaxe
x— Sequência de caracteres.String
String
Exemplos
Exemplo de uso
Query
Response
normalizeQueryKeepNames
?, mas não substitui aliases complexos (que contêm espaços em branco, mais de dois dígitos ou têm pelo menos 36 bytes de comprimento, como UUIDs).
Isso ajuda a analisar melhor logs de consultas complexas.
Sintaxe
x— Sequência de caracteres.String
String
Exemplos
Exemplo de uso
Query
Response
normalizedQueryHash
x— Sequência de caracteres.String
UInt64
Exemplos
Exemplo de uso
Query
Response
normalizedQueryHashKeepNames
normalizedQueryHash, retorna valores de hash de 64 bits idênticos para consultas semelhantes, sem os valores dos literais, mas não substitui aliases complexos (que contêm espaços em branco, mais de dois dígitos ou têm pelo menos 36 bytes de comprimento, como UUIDs) por um placeholder antes de calcular o hash.
Pode ser útil para analisar logs de consulta.
Sintaxe
x— Sequência de caracteres.String
UInt64
Exemplos
Exemplo de uso
Query
Response
obfuscateQuery
tag evita a eliminação de subexpressões comuns quando a mesma chamada de função
é usada várias vezes em uma consulta. Isso garante que cada invocação produza um resultado ofuscado diferente.
Recursos:
- Substitui nomes de tabelas, nomes de colunas e aliases por palavras aleatórias
- Substitui literais numéricos e de string por valores aleatórios
- Preserva a estrutura geral da consulta e a sintaxe SQL
- Produz resultados diferentes para linhas diferentes
query— A consulta SQL a ser ofuscada.Stringtag— Opcional. Um valor para evitar a eliminação de subexpressões comuns quando a mesma chamada de função é usada várias vezes.
String
Exemplos
Uso básico
Query
Response
Query
Response
Query
Response
obfuscateQueryWithSeed
obfuscateQuery(), esta função produz resultados determinísticos quando recebe a mesma seed.
Isso é útil quando você precisa de ofuscação consistente em várias execuções ou quando quer
reproduzir a mesma consulta ofuscada para fins de teste ou depuração.
Características:
- Ofuscação determinística com base na seed fornecida
- A mesma seed sempre produz o mesmo resultado ofuscado
- Seeds diferentes produzem resultados diferentes
- Preserva a estrutura da consulta, assim como
obfuscateQuery()
- Casos de teste reproduzíveis
- Anonimização consistente em várias execuções
- Depuração com consultas ofuscadas consistentes
query— A consulta SQL a ser ofuscada.Stringseed— A seed usada na ofuscação. A mesma seed produz resultados determinísticos.IntegerouString
String
Exemplos
Ofuscação determinística com seed inteira
Query
Response
Query
Response
Query
Response
parseReadableSize
B, KiB, KB, MiB, MB etc. como unidade (isto é, ISO/IEC 80000-13 ou unidade decimal de byte), esta função retorna o número correspondente de bytes.
Se a função não conseguir interpretar o valor de entrada, ela gera uma exceção.
As operações inversas desta função são formatReadableSize e formatReadableDecimalSize.
Sintaxe
x— Tamanho em formato legível com unidade de byte decimal ou ISO/IEC 80000-13.String
UInt64
Exemplos
Exemplo de uso
Query
Response
parseReadableSizeOrNull
B, KiB, KB, MiB, MB etc. como unidade (isto é, ISO/IEC 80000-13 ou unidade decimal de byte), esta função retorna o número de bytes correspondente.
Se a função não conseguir interpretar o valor de entrada, retornará NULL.
As operações inversas desta função são formatReadableSize e formatReadableDecimalSize.
Sintaxe
x— Tamanho legível com unidade de byte decimal ou no padrão ISO/IEC 80000-13.String
NULL se não for possível interpretar a entrada Nullable(UInt64)
Exemplos
Exemplo de uso
Query
Response
parseReadableSizeOrZero
B, KiB, KB, MiB, MB etc. como unidade (isto é, ISO/IEC 80000-13 ou unidade decimal de bytes), esta função retorna o número correspondente de bytes.
Se a função não conseguir analisar o valor de entrada, ela retornará 0.
As operações inversas desta função são formatReadableSize e formatReadableDecimalSize.
Sintaxe
x— Tamanho em formato legível com ISO/IEC 80000-13 ou unidade decimal de bytes.String
0 se não for possível analisar a entrada. UInt64
Exemplos
Exemplo 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
;, -, +, ,, :).
A duração de anos e meses é aproximada: um ano tem 365 dias, e um mês tem 30,5 dias.
Sintaxe
timestr— Uma sequência de números seguida de algo semelhante a uma unidade de tempo.String
Float64
Exemplos
Exemplo de uso
Query
Response
Query
Response
partitionId
Esta função é lenta e não deve ser usada com um grande número de linhas.
partitionID
Argumentos
column1, column2, ...— Coluna cujo ID da partição deve ser retornado.
String
Exemplos
Exemplo de uso
Query
Response
queryID
query_id na tabela system.query_log.
Em contraste com a função initialQueryID, queryID pode retornar resultados diferentes em shards distintos.
Sintaxe
query_id
Argumentos
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
revision
- Nenhum.
UInt32
Exemplos
Exemplo de uso
Query
Response
rowNumberInAllBlocks
- Nenhum.
0. UInt64
Exemplos
Exemplo de uso
Query
Response
rowNumberInBlock
rowNumberInBlock, retorna o número da linha atual.
O número retornado começa em 0 para cada block.
Sintaxe
- Nenhum.
0. UInt64
Exemplos
Exemplo de uso
Query
Response
runningAccumulate
agg_state— Estado da função de agregação.AggregateFunctiongrouping— Opcional. Chave de agrupamento. O estado da função é redefinido se o valor degroupingfor alterado. Pode ser qualquer um dos tipos de dados suportados para os quais o operador de igualdade esteja definido.Any
Any
Exemplos
Exemplo de uso com initializeAggregation
Query
Response
runningConcurrency
start— Uma coluna com o horário de início dos eventos.DateouDateTimeouDateTime64end— Uma coluna com o horário de término dos eventos.DateouDateTimeouDateTime64
UInt32
Exemplos
Exemplo de uso
Query
Response
runningDifference
0 para a primeira linha e, para as linhas subsequentes, a diferença em relação à linha anterior.
O resultado da função depende dos blocos de dados envolvidos e da ordem dos dados no bloco.
A ordem das linhas durante o cálculo de runningDifference() pode ser diferente da ordem das linhas retornadas ao usuário.
Para evitar isso, você pode criar uma subconsulta com ORDER BY e chamar a função fora da subconsulta.
Observe que o tamanho do bloco afeta o resultado.
O estado interno de runningDifference é reiniciado a cada novo bloco.
Sintaxe
x— Coluna para a qual calcular a diferença entre valores consecutivos.Any
Query
Response
Query
Response
runningDifferenceStartingWithFirstValue
runningDifference, retorna o valor real da primeira linha em vez de 0.
Sintaxe
x— Coluna para a qual calcular a diferença acumulada.Any
Any
Exemplos
Exemplo de uso
Query
Response
serverUUID
- Nenhum.
UUID
Exemplos
Exemplo de uso
Query
Response
0.
Sintaxe
- Nenhum.
0. UInt32
Exemplos
Exemplo de uso
Query
Response
1.
Se uma consulta não for distribuída, será retornado o valor constante 0.
Sintaxe
- Nenhum.
0. UInt32
Exemplos
Exemplo de uso
Query
Response
showCertificate
- Nenhum.
Map(String, String)
Exemplos
Exemplo de uso
Query
Response
sleep
sleep() não deve ser usada em ambientes de produção, pois pode afetar negativamente o desempenho das consultas e a capacidade de resposta do sistema.
No entanto, ela pode ser útil nos seguintes cenários:
- Teste: Ao testar ou fazer benchmarking do ClickHouse, talvez você queira simular atrasos ou introduzir pausas para observar como o sistema se comporta em determinadas condições.
- Depuração: Se você precisar examinar o estado do sistema ou a execução de uma consulta em um momento específico, poderá usar
sleep()para introduzir uma pausa, permitindo inspecionar ou coletar informações relevantes. - Simulação: Em alguns casos, talvez você queira simular cenários do mundo real em que ocorram atrasos ou pausas, como latência de rede ou dependências de sistemas externos.
default (com allow_sleep habilitado).
Sintaxe
seconds— O número de segundos para pausar a execução da consulta, com um máximo de 3 segundos. Pode ser um valor de ponto flutuante para especificar frações de segundo.const UInt*ouconst Float*
0. UInt8
Exemplos
Exemplo de uso
Query
Response
sleepEachRow
sleepEachRow() é usada principalmente para testes e depuração, de forma semelhante à função sleep().
Ela permite simular atrasos ou inserir pausas no processamento de cada linha, o que pode ser útil em cenários como:
- Testes: Ao testar ou fazer benchmarking do desempenho do ClickHouse em condições específicas, você pode usar
sleepEachRow()para simular atrasos ou inserir pausas em cada linha processada. - Depuração: Se você precisar examinar o estado do sistema ou a execução de uma consulta para cada linha processada, poderá usar
sleepEachRow()para inserir pausas, permitindo inspecionar ou coletar informações relevantes. - Simulação: Em alguns casos, você pode querer simular cenários reais em que ocorram atrasos ou pausas para cada linha processada, como ao lidar com sistemas externos ou latência de rede.
seconds— O número de segundos para pausar a execução da consulta para cada linha do conjunto de resultados, com um máximo de 3 segundos. Pode ser um valor de ponto flutuante para especificar frações de segundo.const UInt*ouconst Float*
0 para cada linha. UInt8
Exemplos
Exemplo de uso
Query
Response
structureToCapnProtoSchema
- Nenhum.
Query
Response
structureToProtobufSchema
structure— Definição da estrutura da tabela do ClickHouse como uma string (por exemplo, ‘column1 Type1, column2 Type2’).Stringmessage_name— Nome do tipo de mensagem Protobuf no schema gerado.String
String
Exemplos
Conversão da estrutura do ClickHouse para schema Protobuf
Query
Response
tcpPort
- Nenhum.
UInt16
Exemplos
Exemplo de uso
Query
Response
throwIf
error_code, o parâmetro de configuração allow_custom_error_code_in_throw deve estar habilitado.
Sintaxe
x— Condição a ser verificada.Anymessage— Opcional. Mensagem de erro personalizada.const Stringerror_code— Opcional. Código de erro personalizado.const Int8/16/32
0 se a condição for false e lança uma exceção se a condição for true. UInt8
Exemplos
Exemplo de uso
Query
Response
toColumnTypeName
toTypeName, o tipo de dados retornado pode incluir colunas internas de encapsulamento, como Const e LowCardinality.
Sintaxe
value— Valor cujo tipo de dado interno deve ser retornado.Any
String
Exemplos
Exemplo de uso
Query
Response
toTypeName
NULL for informado, a função retorna o tipo Nullable(Nothing), que corresponde à representação interna de NULL no ClickHouse.
Sintaxe
x— Um valor de tipo arbitrário.Any
String
Exemplos
Exemplo de uso
Query
Response
tokenizeQuery
query— Uma string de consulta em ClickHouse SQL. String.
(begin UInt64, end UInt64, type Enum8(...)) representando os tokens da consulta. Array(Tuple(begin UInt64, end UInt64, type Enum8(...)))
Exemplos
simples
Query
Response
transactionID
Esta função faz parte de um conjunto de funcionalidades experimentais.
Ative o suporte experimental a transações adicionando esta configuração aos seus arquivos de configuração:Para mais informações, consulte a página Suporte transacional (ACID).
- Nenhum.
start_csn, local_tid e host_id.
start_csn: Número sequencial global; o timestamp de commit mais recente observado quando esta transação foi iniciada.local_tid: Número sequencial local, exclusivo para cada transação iniciada por este host dentro de umstart_csnespecífico.host_id: UUID do host que iniciou esta transação.Tuple(UInt64, UInt64, UUID)
Query
Response
transactionLatestSnapshot
Esta função faz parte de um conjunto de recursos experimentais. Ative o suporte experimental a transações adicionando esta configuração às suas configurações:Para mais informações, consulte a página Suporte transacional (ACID).
- Nenhum.
UInt64
Exemplos
Exemplo de uso
Query
Response
transactionOldestSnapshot
Esta função faz parte de um conjunto de recursos experimentais. Ative o suporte experimental a transações adicionando esta opção à sua configuração:Para mais informações, consulte a página suporte transacional (ACID).
- Nenhum.
UInt64
Exemplos
Exemplo de uso
Query
Response
transform
transform(x, array_from, array_to, default)- transformaxusando arrays de mapeamento, com um valor padrão para elementos sem correspondênciatransform(x, array_from, array_to)- faz a mesma transformação, mas retorna oxoriginal se nenhuma correspondência for encontrada
x em array_from e retorna o elemento correspondente de array_to no mesmo índice.
Se x não for encontrado em array_from, ela retorna o valor default (versão com 4 parâmetros) ou o x original (versão com 3 parâmetros).
Se houver vários elementos correspondentes em array_from, ela retorna o elemento correspondente à primeira correspondência.
Requisitos:
array_fromearray_todevem ter o mesmo número de elementos- Para a versão com 4 parâmetros:
transform(T, Array(T), Array(U), U) -> U, em queTeUpodem ser tipos compatíveis diferentes - Para a versão com 3 parâmetros:
transform(T, Array(T), Array(T)) -> T, em que todos os tipos devem ser iguais
x— Valor a ser transformado.(U)Int*orDecimalorFloat*orStringorDateorDateTimearray_from— Array constante de valores para buscar correspondências.Array((U)Int*)orArray(Decimal)orArray(Float*)orArray(String)orArray(Date)orArray(DateTime)array_to— Array constante de valores a serem retornados para as correspondências encontradas emarray_from.Array((U)Int*)orArray(Decimal)orArray(Float*)orArray(String)orArray(Date)orArray(DateTime)default— Opcional. Valor a ser retornado sexnão for encontrado emarray_from. Se omitido, retornaxsem alterações.(U)Int*orDecimalorFloat*orStringorDateorDateTime
array_to se x corresponder a um elemento de array_from; caso contrário, retorna default (se fornecido) ou x (se default não for fornecido). Any
Exemplos
transform(T, Array(T), Array(U), U) -> U
Query
Response
Query
Response
uniqThetaIntersect
uniqThetaSketch são usados para calcular a interseção (operação de conjunto ∩); o resultado é um novo uniqThetaSketch.
Sintaxe
uniqThetaSketch— objeto uniqThetaSketch.TupleouArrayouDateouDateTimeouStringou(U)Int*ouFloat*ouDecimal
UInt64
Exemplos
Exemplo de uso
Query
Response
uniqThetaNot
uniqThetaSketch para realizar o cálculo a_not_b (operação de conjunto ×); o resultado é um novo uniqThetaSketch.
Sintaxe
uniqThetaSketch— objeto do tipo uniqThetaSketch.TupleouArrayouDateouDateTimeouStringou(U)Int*ouFloat*ouDecimal
UInt64
Exemplos
Exemplo de uso
Query
Response
uniqThetaUnion
uniqThetaSketch para calcular a união (operação de conjunto ∪); o resultado é um novo uniqThetaSketch.
Sintaxe
uniqThetaSketch— objeto uniqThetaSketch.TupleouArrayouDateouDateTimeouStringou(U)Int*ouFloat*ouDecimal
UInt64
Exemplos
Exemplo de uso
Query
Response
uptime
- Nenhum.
UInt32
Exemplos
Exemplo de uso
Query
Response
variantElement
Variant, uma coluna do tipo especificado.
Sintaxe
variant— Coluna Variant.Varianttype_name— O nome do tipo de variante a ser extraído.Stringdefault_value— O valor padrão que será usado sevariantnão tiver uma variante do tipo especificado. Pode ser de qualquer tipo. Opcional.Any
Any
Exemplos
Exemplo de uso
Query
Response
variantType
Variant. Se a linha contiver NULL, retorna ‘None’.
Sintaxe
variant— coluna Variant.Variant
Enum
Exemplos
Exemplo de uso
Query
Response
version
major_version.minor_version.patch_version.number_of_commits_since_the_previous_stable_release.
Se for executada no contexto de uma tabela distribuída, esta função gera uma coluna comum com valores específicos de cada shard.
Caso contrário, produz um valor constante.
Sintaxe
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
visibleWidth
NULL é representado como uma string correspondente a NULL nos formatos Pretty.
Sintaxe
x— Um valor de qualquer tipo de dado.Any
UInt64
Exemplos
Calcular a largura visível de NULL
Query
Response
zookeeperSessionUptime
- Nenhum.
UInt32
Exemplos
Exemplo de uso
Query
Response