A documentação das funções abaixo é gerada a partir da system table
system.functions.FQDN
Introduzido em: v20.1.0 Retorna o nome de domínio totalmente qualificado do servidor ClickHouse.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
fullHostName
Argumentos
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
MACNumToString
Introduzido em: v1.1.0 Interpreta um númeroUInt64 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
Introduzida em: v1.1.0 A função inversa de MACNumToString. Se o endereço MAC estiver em um formato inválido, retorna 0. Sintaxes— Endereço MAC em formato de string.String
UInt64
Exemplos
Exemplo de uso
Query
Response
MACStringToOUI
Introduzido em: v1.1.0 Dado um endereço MAC no formato AA:BB:CC:DD:EE:FF (números hexadecimais separados por dois-pontos), retorna os três primeiros octetos como um número UInt64. Se o endereço MAC tiver um formato inválido, retorna 0. Sintaxes— endereço MAC em formato de string.String
UInt64
Exemplos
Exemplo de uso
Query
Response
authenticatedUser
Introduzido em: v25.11.0 Se o usuário da sessão tiver sido alterado com o comando EXECUTE AS, esta função retorna o nome do usuário original usado para autenticação e criação da sessão. Alias: authUser()Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
authUser
Argumentos
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
bar
Introduzido em: v1.1.0 Cria um gráfico de barras. Desenha uma faixa com largura proporcional a (x - min) e igual a width caracteres quando x = max. A faixa é desenhada com precisão de um oitavo de caractere. Sintaxex— 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
Introduzido em: v1.1.0 Retorna um número de sequência monotonicamente crescente do bloco que contém a linha. O número do bloco retornado é atualizado na medida do possível, ou seja, pode não ser totalmente preciso.Esta função é não determinística: ela pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
UInt64
Exemplos
Uso básico
Query
Response
blockSerializedSize
Introduzido em: v20.3.0 Retorna o tamanho não comprimido, em bytes, de um bloco de valores em disco.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
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
Introduzido em: v1.1.0 No ClickHouse, as consultas são processadas em blocos (fragmentos). Esta função retorna o tamanho (número de linhas) do bloco em que a função é chamada.Esta função é não determinística: ela pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
UInt64
Exemplos
Exemplo de uso
Query
Response
buildId
Introduzido em: v20.5.0 Retorna o ID de compilação gerado por um compilador para o binário do servidor ClickHouse em execução. Se for executada no contexto de uma tabela distribuída, essa função gera uma coluna comum com valores correspondentes a cada shard. Caso contrário, produz um valor constante.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
byteSize
Introduzido em: v21.1.0 Retorna uma estimativa do tamanho em bytes não comprimido de seus argumentos na memória. Para argumentosString, 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
colorOKLABToSRGB
Introduzido em: v26.2.0 Converte uma cor do espaço de cores perceptivo OKLab para o espaço de cores sRGB. A cor de entrada é especificada no espaço de cores OKLab. Se os valores de entrada estiverem fora das faixas típicas do OKLab, o resultado será definido pela implementação. O OKLab usa três componentes:- 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.
- 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
Introduzido em: v25.7.0 Converte uma cor do espaço de cores perceptivo OKLCH para o conhecido espaço de cores sRGB. SeL 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.
- OKLab para Linear sRGB
- 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
Introduzido em: v26.2.0 Converte uma cor codificada no espaço de cores sRGB para o espaço de cores OKLAB, perceptualmente uniforme. Se algum canal de entrada estiver fora de[0...255] ou se o valor de gamma não for positivo, o comportamento é definido pela 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
- 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
Introduzido em: v25.7.0 Converte uma cor codificada no espaço de cores sRGB para o espaço de cores OKLCH, que é perceptualmente uniforme. Se algum canal de entrada estiver fora de[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
- Linear sRGB para OKLab
- 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
Introduzido em: v21.3.0 Retorna o ID da conexão do cliente que enviou a consulta atual. Esta função é mais útil em cenários de depuração. Ela foi criada para manter a compatibilidade com a funçãoCONNECTION_ID do MySQL.
Ela normalmente não é usada em consultas em produção.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
UInt64
Exemplos
Exemplo de uso
Query
Response
countDigits
Introduzido em: v20.8.0 Retorna o número de dígitos decimais necessários para representar um valor.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
Introduzido em: v1.1.0 Retorna o nome do banco de dados atual. Útil nos parâmetros do mecanismo de tabela em consultasCREATE TABLE nas quais você precisa especificar o banco de dados.
Veja também a instrução SET.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
current_database, DATABASE, SCHEMA
Argumentos
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
Query
Response
currentHandler
Introduzido em: v26.6.0 Retorna o nome do handler HTTP definido em SQL (criado comCREATE HANDLER) que invocou a consulta.
Retorna uma string vazia se a consulta não tiver sido invocada por esse handler.
Útil para personalizar o comportamento da consulta conforme o handler invocado.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
String
Exemplos
Exemplo de uso
Query
currentProfiles
Introduzido em: v21.9.0 Retorna um array com os perfis de configuração do usuário atual.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
Array(String)
Exemplos
Exemplo de uso
Query
Response
currentQueryID
Introduzido em: v25.2.0 Retorna o ID da consulta atual.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
current_query_id
Argumentos
- Nenhum.
Query
Response
currentRequestURL
Introduzida na versão: v26.6.0 Retorna a URL da requisição HTTP (caminho e string de consulta) que invocou a consulta. Retorna uma string vazia se a consulta não tiver sido invocada por HTTP. Útil em combinação com handlers HTTP definidos em SQL (CREATE HANDLER) para extrair parâmetros
embutidos no caminho da requisição.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
String
Exemplos
Exemplo de uso
Query
currentRoles
Introduzido em: v21.9.0 Retorna um array com as funções atribuídas ao usuário atual.Esta função é não determinística: ela pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
Array(String)
Exemplos
Exemplo de uso
Query
Response
currentSchemas
Introduzido em: v23.7.0 Igual à funçãocurrentDatabase, 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.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
current_schemas
Argumentos
bool— Um valor booleano, que é ignorado.Bool
Array(String)
Exemplos
Exemplo de uso
Query
Response
currentUser
Introduzido em: v20.1.0 Retorna o nome do usuário atual. Em uma consulta distribuída, retorna o nome do usuário que iniciou a consulta.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
session_user, current_user, user
Argumentos
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
Query
Response
defaultProfiles
Introduzido em: v21.9.0 Retorna um array com os nomes dos perfis de configuração padrão do usuário atual.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
Array(String)
Exemplos
Exemplo de uso
Query
Response
defaultRoles
Introduzido em: v21.9.0 Retorna um array com as funções padrão do usuário atual.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
Array(String)
Exemplos
Exemplo de uso
Query
Response
defaultValueOfArgumentType
Introduzido em: v1.1.0 Retorna o valor padrão de um determinado tipo de dado. Não inclui os valores padrão de colunas personalizadas definidas pelo usuário. Sintaxeexpression— 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
Introduzido em: v1.1.0 Retorna o valor padrão para o nome de tipo fornecido. Sintaxetype— 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
digits
Introduzido em: v26.7.0 Retorna os dígitos de um númeron, começando no índice offset especificado.
A contagem começa em 1, seguindo a lógica abaixo:
- Se
offsetfor0, uma exceção é lançada, poisoffseté indexado a partir de 1. - Se
offsetfor negativo, a contagem começaoffsetdígitos a partir do fim do número, em vez do início. - Se
offsetfor maior que o número de dígitos emn,0é retornado.
length segue a lógica abaixo:
- Se
lengthfor positivo, significa o número de dígitos a considerar a partir deoffset - Se
lengthfor negativo, significa o número de dígitos à direita do número a serem excluídos
substring, que realiza a operação análoga em strings.
Sintaxe
n— O número cujos dígitos serão calculados.(U)Int8ou(U)Int16ou(U)Int32ou(U)Int64offset— A posição inicial do dígito emn.(U)Int8ou(U)Int16ou(U)Int32ou(U)Int64length— Opcional. O comprimento máximo dos dígitos.(U)Int8ou(U)Int16ou(U)Int32ou(U)Int64
n, interpretados como UInt64. Retorna 0 se o intervalo selecionado estiver vazio. Zeros à esquerda não são preservados. UInt64
Exemplos
Offset positivo
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
displayName
Introduzido em: v22.11.0 Retorna o valor dedisplay_name de config ou o Fully Qualified Domain Name (FQDN) do servidor, caso não esteja definido.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
display_name da config ou o FQDN do servidor, caso não esteja definido. String
Exemplos
Exemplo de uso
Query
Response
dumpColumnStructure
Introduzido em: v1.1.0 Exibe uma descrição detalhada da estrutura interna de uma coluna e do seu tipo de dado.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
x— Valor do qual se deseja obter a descrição.Any
String
Exemplos
Exemplo de uso
Query
Response
enabledProfiles
Introduzido em: v21.9.0 Retorna um array com os nomes dos perfis de configuração habilitados para o usuário atual.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
Array(String)
Exemplos
Exemplo de uso
Query
Response
enabledRoles
Introduzido em: v21.9.0 Retorna um array das funções habilitadas para o usuário atual.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
Array(String)
Exemplos
Exemplo de uso
Query
Response
errorCodeToName
Introduzido em: v20.12.0 Retorna o nome textual de um código de erro numérico do ClickHouse. O mapeamento de códigos de erro numéricos para nomes de erro está disponível aqui. Sintaxeerror_code. String
Exemplos
Exemplo de uso
Query
Response
file
Introduzido em: v21.3.0 Lê um arquivo como string e carrega os dados na coluna especificada. O conteúdo do arquivo não é interpretado. Veja também a função de tabelafile.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
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
Introduzido na versão: v20.1.0 Retorna a quantidade de espaço livre no sistema de arquivos que hospeda a persistência do banco de dados. O valor retornado é sempre menor que o espaço livre total (filesystemUnreserved), porque parte do espaço é reservada para o sistema operacional.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
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
Introduzido em: v20.1.0 Retorna a capacidade do sistema de arquivos em bytes. É necessário que o caminho para o diretório de dados esteja configurado.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
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
Introduzido na versão: v22.12.0 Retorna a quantidade total de espaço livre no sistema de arquivos que hospeda a persistência do banco de dados (anteriormentefilesystemFree).
Veja também filesystemAvailable.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
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
Introduzido em: v1.1.0 Dado um estado de agregação, esta função retorna o resultado da agregação (ou o estado finalizado ao usar o combinador -State). Sintaxestate— Estado da agregação.AggregateFunction
Any
Exemplos
Exemplo de uso
Query
Response
Query
Response
flipCoordinates
Introduzido em: v25.11.0 Inverte as coordenadas x e y de objetos geométricos. Essa operação troca latitude e longitude, o que é útil para converter entre diferentes sistemas de coordenadas ou corrigir a ordem das coordenadas. Para um Point, troca as coordenadas x e y. Para geometrias complexas (MultiPoint, LineString, Polygon, MultiPolygon, Ring, MultiLineString), aplica recursivamente a transformação a cada par de coordenadas. A função oferece suporte tanto a tipos geométricos individuais (Point, MultiPoint, Ring, Polygon, MultiPolygon, LineString, MultiLineString) quanto ao tipo Geometry Variant. Sintaxegeometry— A geometria a ser transformada. Tipos suportados: Point (Tuple(Float64, Float64)), MultiPoint (Array(Point)), 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 MultiPoint 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
Introduzido em: v23.10.0 Retorna uma versão formatada, possivelmente múltiplas linhas, da consulta SQL fornecida. Lança uma exceção em caso de erro de parsing. [example:multiline] Sintaxequery— A consulta SQL a ser formatada. String
String
Exemplos
múltiplas linhas
Query
Response
formatQueryFromJSON
Introduzido em: v26.8.0 Recebe uma representação JSON de uma AST SQL (produzida porparseQueryToJSON) e a formata novamente como uma string de consulta SQL.
Com um argumento, produz SQL formatado canonicamente.
Com dois argumentos (json, original_query), preserva comentários, espaços em branco e indentação da consulta original da melhor maneira possível.
A AST desserializada é limitada pelas configurações max_ast_depth e max_ast_elements da sessão atual.
Juntamente com parseQueryToJSON, esta função permite inspecionar e transformar consultas programaticamente
por meio de sua representação de AST em JSON.
Sintaxe
json— Uma string JSON que representa uma AST SQL.Stringoriginal_query— Opcional. A consulta SQL original, cuja formatação deve ser preservada.String
String
Exemplos
Ida e volta
Query
Response
Query
Response
formatQueryOrNull
Introduzido em: v23.11.0 Retorna uma versão formatada, possivelmente multilinha, da consulta SQL fornecida. Retorna NULL em caso de erro de parsing. [example:multiline] Sintaxequery— A consulta SQL a ser formatada. String
String
Exemplos
múltiplas linhas
Query
Response
formatQuerySingleLine
Introduzido em: v23.10.0 ComoformatQuery(), 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
Introduzido em: v23.11.0 Como formatQuery(), mas a string formatada retornada não contém nenhuma quebra de linha. Retorna NULL em caso de erro de parsing. [example:multiline] Sintaxequery— A consulta SQL a ser formatada.String
String
Exemplos
múltiplas linhas
Query
Response
formatReadableDecimalSize
Introduzido em: v22.11.0 Dado um tamanho (número de bytes), esta função retorna um valor de tamanho legível e arredondado com sufixo (KB, MB etc.), como string. A operação oposta desta função é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
Introduzido em: v20.10.0 Dado um número, esta função retorna uma string com o número arredondado e um sufixo (mil, milhão, bilhão etc.). Esta função aceita qualquer tipo numérico como entrada, mas, internamente, converte os valores paraFloat64.
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
Introduzido em: v1.1.0 Dado um tamanho (número de bytes), esta função retorna um tamanho legível e arredondado com sufixo (KiB, MiB etc.) como string. As operações inversas desta função sãoparseReadableSize, 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
Introduzido em: v20.12.0 Dado um intervalo de tempo (delta) em segundos ou uma expressãoINTERVAL, 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
Introduzido em: v26.2.0 Analisa a string de consulta fornecida e aplica mutações aleatórias na AST (fuzzing). Retorna a consulta com fuzzing como string. Não determinística: cada chamada pode produzir um resultado diferente. Requerallow_fuzz_query_functions = 1.
Sintaxe
query— A consulta SQL a ser submetida a fuzzing. String
String
Exemplos
básico
Query
generateRandomStructure
Introduzido em: v23.5.0 Gera uma estrutura aleatória de tabela no formatocolumn1_name column1_type, column2_name column2_type, ....
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
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
Introduzido em: v25.1.0 Gera e retorna números sequenciais a partir do valor anterior do contador. Esta função recebe um argumento string — um identificador de série — e um valor inicial opcional. O servidor deve ser configurado com Keeper. As séries são armazenadas em nós do Keeper no caminho, que pode ser configurado emseries_keeper_path na configuração do servidor.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
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
Introduzido em: v24.5.0 Obtém o valor de um cabeçalho HTTP. Se esse cabeçalho não existir ou se a requisição atual não for feita pela interface HTTP, a função retorna uma string vazia. Determinados cabeçalhos HTTP (por exemplo,Authorization, Authentication e X-ClickHouse-*) são restritos.
A função exige que a configuração
allow_get_client_http_header esteja habilitada.
Essa configuração não vem habilitada por padrão por motivos de segurança, porque alguns cabeçalhos, como Cookie, podem conter informações sensíveis.getClientHTTPHeader lê os cabeçalhos da requisição atual, portanto retorna um valor não vazio somente quando a consulta é enviada pela interface HTTP.
Por exemplo, envie o cabeçalho na requisição e leia-o de volta via HTTP:
application/x-www-form-urlencoded.
Sintaxe
name— O nome do cabeçalho HTTP.String
String
Exemplos
Exemplo de uso
Query
getMacro
Introduzido em: v20.1.0 Retorna o valor de uma macro do arquivo de configuração do servidor. As macros são definidas na seção<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.
Requer o privilégio SELECT em system.macros, assim como para ler essa tabela.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
name— O nome da macro a ser obtida.const String
String
Exemplos
Uso básico
Query
Response
getMaxTableNameLengthForDatabase
Introduzido na versão: v25.1.0 Retorna o comprimento máximo do nome da tabela no banco de dados especificado. Sintaxedatabase_name— O nome do banco de dados especificado.String
Query
Response
getMergeTreeSetting
Introduzido em: v25.6.0 Retorna o valor atual de uma configuração do MergeTree. Exige o privilégioSELECT em system.merge_tree_settings, assim como a leitura dessa tabela.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
setting_name— O nome da configuração.String
Query
Response
getOSKernelVersion
Introduzido em: v21.11.0 Retorna uma string com a versão do kernel do sistema operacional.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
getServerPort
Introduzido em: v21.10.0 Retorna o número da porta do servidor para um determinado protocolo.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
port_name— Nome da porta.String
UInt16
Exemplos
Exemplo de uso
Query
Response
getServerSetting
Introduzido em: v25.6.0 Retorna o valor definido no momento para a configuração do servidor informada. Requer o privilégioSELECT em system.server_settings, assim como para ler essa tabela.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
setting_name— O nome da configuração do servidor.String
Any
Exemplos
Exemplo de uso
Query
Response
getSetting
Introduzido em: v20.7.0 Retorna o valor atual de uma configuração.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
setting_Name— O nome da configuração.const String
Any
Exemplos
Exemplo de uso
Query
Response
getSettingOrDefault
Introduzido em: v24.10.0 Retorna o valor atual de uma configuração ou, caso ela não esteja definida no perfil atual, o valor padrão especificado no segundo argumento.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
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
Introduzido em: v1.1.0 Retorna o número de campos noEnum fornecido.
Sintaxe
x— Valor do tipoEnum.Enum
Enum. UInt8/16
Exemplos
Exemplo de uso
Query
Response
getSubcolumn
Introduzido em: v23.3.0 Recebe uma expressão ou identificador e uma string constante com o nome da subcoluna. Retorna a subcoluna solicitada, extraída da expressão. Sintaxe- Nenhum.
Query
Response
getTypeSerializationStreams
Introduzido em: v22.6.0 Enumera os caminhos de stream de um tipo de dado. Esta função se destina a uso em desenvolvimento. Sintaxecol— 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
Introduzido em: v20.5.0 Recebe um argumento String constante e retorna o valor da variável global com esse nome. Esta função é destinada à compatibilidade com o MySQL e não é necessária nem útil para a operação normal do ClickHouse. Apenas algumas variáveis globais fictícias estão definidas. Sintaxename— Nome da variável global.String
name. Any
Exemplos
globalVariable
Query
Response
hasColumnInTable
Introduzido em: v1.1.0 Verifica se uma coluna específica existe em uma tabela de um banco de dados. Para elementos em uma estrutura de dados aninhada, a função verifica a existência de uma coluna. Para a própria estrutura de dados aninhada, a função retorna0.
A função exige o privilégio
SHOW COLUMNS na tabela de destino (o mesmo privilégio necessário para DESCRIBE e SHOW CREATE TABLE).
Sem ele, a chamada falha com ACCESS_DENIED em vez de retornar 1 ou 0, portanto não é possível verificar nomes de colunas sem acesso.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
database— Nome do banco de dados.const Stringtable— Nome da tabela.const Stringcolumn— Nome da coluna.const String
1 se a coluna informada existir, 0 caso contrário. UInt8
Exemplos
Verificar uma coluna existente
Query
Response
Query
Response
hasThreadFuzzer
Introduzido em: v20.6.0 Retorna se o thread fuzzer está habilitado. Esta função só é útil para testes e depuração. Sintaxe- Nenhum.
UInt8
Exemplos
Verificar o status do Thread Fuzzer
Query
Response
highlightQuery
Introduzido em: v26.5.0 Analisa uma string de consulta em ClickHouse SQL e retorna um array de faixas destacadas para realce de sintaxe. Cada faixa é uma tupla nomeada com a posição inicial (em bytes), a posição final e o tipo de destaque. Os tipos de destaque descrevem o papel sintático do fragmento (palavra-chave, identificador, função etc.) e podem ser usados para atribuir cores na UI. Em padrões de string de LIKE e REGEXP, metacaracteres e caracteres de escape são destacados separadamente. Sintaxequery— 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
Introduzido em: v20.5.0 Retorna o nome do host em que esta função foi executada. Se a função for executada em um servidor remoto (processamento distribuído), o nome desse servidor remoto será retornado. Se a função for executada no contexto de uma tabela distribuída, ela gera uma coluna normal com valores correspondentes a cada shard. Caso contrário, produz um valor constante.Esta função é não determinística: ela pode retornar resultados diferentes para os mesmos argumentos.
hostname
Argumentos
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
icebergBucket
Introduzido em: v25.5.0 Implementa a lógica da transformação de bucket do Iceberg SintaxeN— 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
icebergDay
Introduzida em: v26.9.0 Implementa a transformada de partiçãoday do Iceberg: o número de dias desde 1970-01-01, calculado em UTC.
Consulte https://iceberg.apache.org/spec/#partition-transforms.
Sintaxe
value— O valor a ser transformado.DateouDate32ouDateTimeouDateTime64
Int32
Exemplos
Exemplo
Query
Response
icebergHour
Introduzida em: v26.9.0 Implementa a transformada de partiçãohour do Iceberg: o número de horas desde 1970-01-01 00:00:00, calculado em UTC.
Consulte https://iceberg.apache.org/spec/#partition-transforms.
Sintaxe
value— O valor a ser transformado.DateTimeouDateTime64
Int32
Exemplos
Exemplo
Query
Response
icebergMonth
Introduzida em: v26.9.0 Implementa a transformada de partiçãomonth do Iceberg: o número de meses desde 1970-01-01, calculado em UTC.
Consulte https://iceberg.apache.org/spec/#partition-transforms.
Sintaxe
value— O valor a ser transformado.DateouDate32ouDateTimeouDateTime64
Int32
Exemplos
Exemplo
Query
Response
icebergTruncate
Introduzido em: v25.3.0 Implementa a lógica da transformação truncate do Iceberg: https://iceberg.apache.org/spec/#truncate-transform-details. SintaxeQuery
Response
icebergYear
Introduzida na: v26.9.0 Implementa a transformada de partiçãoyear do Iceberg: o número de anos desde 1970, calculado em UTC.
Consulte https://iceberg.apache.org/spec/#partition-transforms.
Sintaxe
value— O valor a ser transformado.DateouDate32ouDateTimeouDateTime64
Int32
Exemplos
Exemplo
Query
Response
identity
Introduzido em: v1.1.0 Esta função retorna o argumento que você passa a ela, o que é útil para depuração e testes. Ela permite evitar o uso de índices para observar o desempenho de uma varredura completa. O analisador de consultas ignora tudo o que estiver dentro de funçõesidentity 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
Introduzido em: v1.1.0 Aceita argumentos arbitrários e retorna0 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
Introduzido em: v1.1.0 Esta função se destina à depuração e à introspecção. Ela ignora o argumento e sempre retorna 1. Os argumentos não são avaliados. Durante a análise do índice, considera-se que o argumento desta função não esteja encapsulado emindexHint.
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
Introduzido em: v1.1.0 Retorna o ID da consulta inicial atual. Outros parâmetros de uma consulta podem ser extraídos do campoinitial_query_id em system.query_log.
Ao contrário da função queryID, initialQueryID retorna os mesmos resultados em diferentes shards.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
initial_query_id
Argumentos
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
initialQueryStartTime
Introduzido em: v25.4.0 Retorna o horário de início da consulta inicial atual.initialQueryStartTime retorna os mesmos resultados em diferentes shards.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
initial_query_start_time
Argumentos
- Nenhum.
DateTime
Exemplos
Exemplo de uso
Query
Response
initializeAggregation
Introduzido em: v20.6.0 Calcula o resultado de uma função de agregação com base em um único valor. Esta função pode ser usada para inicializar funções de agregação com o combinador -State. Você pode criar estados de funções de agregação e inseri-los em colunas do tipoAggregateFunction 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
Introduzido em: v20.3.0 Retorna se o argumento é uma expressão constante. Uma expressão constante é uma expressão cujo resultado é conhecido durante a análise da consulta, isto é, antes da execução. Por exemplo, expressões com literais são expressões constantes. Esta função se destina principalmente a desenvolvimento, depuração e demonstração.Esta função é não determinística: ela pode retornar resultados diferentes para os mesmos argumentos.
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
Introduzido em: v20.8.0 Verifica se um número decimal tem dígitos demais para caber corretamente em um tipo de dado Decimal com a precisão especificada. Sintaxevalue— 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
Introduzido em: v18.16.0 Permite extrair dados de uma tabela da mesma forma que de um Dicionário. Obtém dados de tabelas Join usando a chave de junção especificada.Compatível apenas com tabelas criadas com a instrução
ENGINE = Join(ANY, LEFT, <join_keys>) instrução.Esta função é não determinística: ela pode retornar resultados diferentes para os mesmos argumentos.
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
Introduzido em: v20.4.0 Permite extrair dados de uma tabela da mesma forma que de um Dicionário. Obtém dados de tabelas Join usando a chave de junção especificada. Ao contrário dejoinGet, retorna NULL quando a chave não existe.
Suporta apenas tabelas criadas com a instrução
ENGINE = Join(ANY, LEFT, <join_keys>).Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
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
Introduzido em: v18.12.0 Retorna a posição de um valor no dicionário de uma coluna LowCardinality. As posições começam em 1. Como LowCardinality tem dicionários por parte, esta função pode retornar posições diferentes para o mesmo valor em partes diferentes.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
col— Uma coluna de baixa cardinalidade.LowCardinality
UInt64
Exemplos
Exemplos de uso
Query
Response
lowCardinalityKeys
Introduzido em: v18.12.0 Retorna os valores do dicionário de uma coluna LowCardinality. Se o bloco for menor ou maior que o tamanho do dicionário, o resultado será truncado ou preenchido com valores padrão. Como o LowCardinality tem dicionários por parte, esta função pode retornar valores de dicionário diferentes em partes diferentes.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
col— Uma coluna de baixa cardinalidade.LowCardinality
UInt64
Exemplos
lowCardinalityKeys
Query
Response
materialize
Introduzido em: v1.1.0 Transforma uma constante em uma coluna completa que contém um único valor. Colunas completas e constantes são representadas de forma diferente na memória. As funções geralmente executam código diferente para argumentos normais e constantes, embora o resultado normalmente deva ser o mesmo. Esta função pode ser usada para depurar esse comportamento. Sintaxex— Uma constante.Any
Any
Exemplos
Exemplo de uso
Query
Response
Query
Response
minSampleSizeContinuous
Introduzido na versão: v23.10.0 Calcula o tamanho mínimo de amostra necessário para um teste A/B que compara as médias de uma métrica contínua em duas amostras. Usa a fórmula descrita neste artigo. Pressupõe tamanhos iguais para os grupos de tratamento e de controle. Retorna o tamanho de amostra necessário para um grupo (ou seja, o tamanho de amostra necessário para todo o experimento é o dobro do valor retornado). Também pressupõe variância igual da métrica de teste nos grupos de tratamento e de controle. SintaxeminSampleSizeContinous
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
Introduzido em: v22.6.0 Calcula o tamanho mínimo de amostra necessário para um teste A/B que compara conversões (proporções) entre duas amostras. Usa a fórmula descrita neste artigo. Pressupõe tamanhos iguais para os grupos de tratamento e controle. Retorna o tamanho de amostra necessário para um grupo (ou seja, o tamanho de amostra necessário para todo o experimento é o dobro do valor retornado). Sintaxebaseline— 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
Introduzido em: v20.1.0 Retorna um valor de uma coluna em um deslocamento especificado em relação à linha atual. Esta função está obsoleta e é propensa a erros porque opera na ordem física dos blocos de dados, que pode não corresponder à ordem lógica esperada pelos usuários. Considere usar funções de janela adequadas em vez dela. A função pode ser habilitada definindoallow_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
Introduzido em: v20.8.0 Substitui literais, sequências de literais e aliases complexos (contendo espaços em branco, mais de dois dígitos ou com pelo menos 36 bytes, como UUIDs) por um placeholder?.
Sintaxe
x— Sequência de caracteres.String
String
Exemplos
Exemplo de uso
Query
Response
normalizeQueryKeepNames
Introduzido em: v21.2.0 Substitui literais e sequências de literais pelo placeholder?, 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
Introduzido na versão: v20.8.0 Retorna valores de hash de 64 bits idênticos para consultas semelhantes, sem considerar os valores dos literais. Pode ser útil para analisar logs de consultas. Sintaxex— Sequência de caracteres.String
UInt64
Exemplos
Exemplo de uso
Query
Response
normalizedQueryHashKeepNames
Introduzido em: v21.2.0 Assim comonormalizedQueryHash, 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
Introduzido em: v26.4.0 Ofusca uma consulta SQL substituindo identificadores por palavras aleatórias e literais por valores aleatórios, preservando a estrutura da consulta. Esta função é útil para anonimizar consultas antes de registrá-las em logs ou compartilhá-las para fins de depuração. Linhas diferentes produzirão resultados ofuscados distintos, mesmo para a mesma consulta de entrada, o que ajuda a preservar a privacidade ao trabalhar com várias consultas. O parâmetro opcionaltag 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
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
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
Introduzido em: v26.4.0 Ofusca uma consulta SQL usando uma seed especificada para gerar resultados determinísticos. Diferentemente deobfuscateQuery(), 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
parseISO8601Duration
Introduzido em: v26.9.0 Analisa uma string de duração ISO 8601 e retorna o número de segundos. A duração começa comP, seguida por componentes de data opcionais e uma seção de tempo opcional
introduzida por T:
W- semanasD- diasT- inicia a seção de tempoH- horasM- minutos, apenas apósTS- segundos
PT0.5H é válido e retorna 1800.
Os designadores devem aparecer na ordem acima e cada um pode aparecer no máximo uma vez. O designador de semana pode
ser combinado com os demais, diferentemente da ISO 8601:2004, na qual ele é exclusivo.
O designador de ano (Y) e o designador de mês (M) antes de T são rejeitados, porque nem um
ano nem um mês têm duração fixa em segundos. Nesses casos, converta as durações em relação a uma data de referência.
Duas formas permitidas pelo padrão e por suas extensões não são aceitas:
- uma vírgula como separador decimal, como em
PT1,5S- use um ponto - um sinal inicial, como em
-PT1S, que vem da RFC 3339 e do XML Schema, e não da gramática principal
duration— Uma string de duração ISO 8601.String
Float64
Exemplos
Exemplo de uso
Query
Response
Query
Response
parseQueryToJSON
Introduzido em: v26.8.0 Analisa uma string de consulta SQL e a converte em sua AST (Árvore de Sintaxe Abstrata), retornando uma representação JSON dessa árvore. O JSON resultante pode ser passado paraformatQueryFromJSON para reconstruir a consulta SQL ou enviado diretamente
ao servidor usando o valor clickhouse_json da configuração dialect (condicionado a enable_json_ast_dialect).
Isso é útil para ferramentas que desejam inspecionar ou transformar consultas programaticamente sem passar
pela gramática SQL.
Nem toda consulta SQL tem uma representação JSON fiel. Consultas que contêm dados que o formato JSON não consegue
reproduzir (por exemplo, dados inline em INSERT ... VALUES / INSERT ... FORMAT) e tipos de nós da AST que ainda não
implementam serialização JSON são rejeitados com BAD_ARGUMENTS, em vez de gerar um JSON que
formatQueryFromJSON não conseguiria ler novamente.
Os limites de análise (max_query_size, max_parser_depth, max_parser_backtracks) são obtidos das configurações da
sessão atual.
Sintaxe
sql— Uma string de consulta SQL a ser analisada.String
String
Exemplos
SELECT simples
Query
Response
parseReadableSize
Introduzido em: v24.6.0 Dada uma string que contém um tamanho em bytes eB, 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
Introduzido em: v24.6.0 Dada uma string que contém um tamanho em bytes eB, 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
Introduzido em: v24.6.0 Dada uma string contendo um tamanho em bytes eB, 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
Introduzido em: v22.7.0 Analisa uma sequência de números seguida de algo semelhante a uma unidade de tempo. A string de intervalo de tempo usa as seguintes especificações de unidade de tempo: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
Introduzido em: v21.4.0 Calcula o ID da partição.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
pgGetUserById
Introduzida em: v26.8.0 Função de compatibilidade para o protocolo wire do PostgreSQL, equivalente apg_catalog.pg_get_userbyid.
Clientes PostgreSQL (por exemplo, o comando \d no psql) a usam para exibir o proprietário de uma tabela.
O ClickHouse não rastreia a propriedade de tabelas, portanto a função ignora o argumento e retorna o nome do usuário atual.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
pg_get_userbyid
Argumentos
oid— Identificador de objeto da função. O valor é ignorado.UInt32
String
Exemplos
Exemplo de uso
Query
Response
pgTableIsVisible
Introduzido em: v26.8.0 Função de compatibilidade para o protocolo wire do PostgreSQL, equivalente apg_catalog.pg_table_is_visible.
Clientes PostgreSQL (por exemplo, o comando \d no psql) a usam para filtrar tabelas visíveis no caminho de busca.
Como a view pg_class emulada pelo ClickHouse expõe apenas as tabelas do banco de dados atual, que são todas visíveis, a função sempre retorna 1.
Sintaxe
pg_table_is_visible
Argumentos
oid— Identificador de objeto da tabela, conforme exposto pela viewpg_classemulada. O valor é ignorado.UInt32
1. UInt8
Exemplos
Exemplo de uso
Query
Response
queryID
Introduzido em: v21.9.0 Retorna o ID da consulta atual. Outros parâmetros da consulta podem ser extraídos do campoquery_id na tabela system.query_log.
Em contraste com a função initialQueryID, queryID pode retornar resultados diferentes em shards distintos.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
query_id
Argumentos
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
revision
Introduzido em: v22.7.0 Retorna a revisão atual do servidor ClickHouse.Esta função é não determinística: ela pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
UInt32
Exemplos
Exemplo de uso
Query
Response
rowNumberInAllBlocks
Introduzido em: v1.1.0 Retorna um número de linha único para cada linha processada.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
0. UInt64
Exemplos
Exemplo de uso
Query
Response
rowNumberInBlock
Introduzido em: v1.1.0 Para cada bloco processado porrowNumberInBlock, retorna o número da linha atual.
O número retornado começa em 0 para cada bloco.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
0. UInt64
Exemplos
Exemplo de uso
Query
Response
runningAccumulate
Introduzido em: v1.1.0 Acumula os estados de uma função de agregação para cada linha de um bloco de dados. Sintaxeagg_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
Introduzido em: v21.3.0 Calcula o número de eventos concorrentes. Cada evento tem um horário de início e um horário de término. O horário de início é incluído no evento, enquanto o horário de término é excluído. As colunas com horário de início e horário de término devem ser do mesmo tipo de dado. A função calcula o número total de eventos ativos (concorrentes) para cada horário de início do evento.Esta função é não determinística: ela pode retornar resultados diferentes para os mesmos argumentos.
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
Introduzido em: v1.1.0 Calcula a diferença entre os valores de duas linhas consecutivas no bloco de dados. Retorna0 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 é redefinido a cada novo bloco.
Sintaxe
x— Coluna para a qual calcular a diferença acumulada.Any
Query
Response
Query
Response
runningDifferenceStartingWithFirstValue
Introduzido em: v1.1.0 Calcula a diferença entre os valores de linhas consecutivas em um bloco de dados, mas, ao contrário derunningDifference, 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
Introduzido em: v20.1.0 Retorna o UUID (v4) aleatório e exclusivo gerado quando o servidor é iniciado pela primeira vez. O UUID é persistido, ou seja, a segunda, a terceira etc. inicialização do servidor retorna o mesmo UUID.Esta função é não determinística: ela pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
UUID
Exemplos
Exemplo de uso
Query
Response
shardCount
Introduzido em: v21.9.0 Retorna o número total de shards de uma consulta distribuída. Se uma consulta não for distribuída, retorna o valor constante0.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
0. UInt32
Exemplos
Exemplo de uso
Query
Response
shardNum
Introduzido em: v21.9.0 Retorna o índice do shard que processa parte dos dados em uma consulta distribuída. Os índices começam em1.
Se uma consulta não for distribuída, será retornado o valor constante 0.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
0. UInt32
Exemplos
Exemplo de uso
Query
Response
showCertificate
Introduzido em: v22.6.0 Exibe informações sobre o certificado Secure Sockets Layer (SSL) atual do servidor, se ele estiver configurado. Um map vazio é retornado se o servidor não tiver certificado, por exemplo, quando o certificado é provisionado com ACME e ainda não foi emitido. Consulte Configurando TLS para mais informações sobre como configurar o ClickHouse para usar certificados OpenSSL para validar conexões.Esta função é não determinística: ela pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
Map(String, String)
Exemplos
Exemplo de uso
Query
Response
sleep
Introduzido em: v1.1.0 Pausa a execução de uma consulta pelo número especificado de segundos. A função é usada principalmente para fins de teste e depuração. Em geral, a funçãosleep() 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
Introduzido em: v1.1.0 Pausa a execução de uma consulta por um número específico de segundos para cada linha no conjunto de resultados. A funçãosleepEachRow() é 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ências 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
Introduzido em: v23.8.0 Função que converte a estrutura de uma tabela do ClickHouse para um schema no formato CapnProto Sintaxe- Nenhum.
Query
Response
structureToProtobufSchema
Introduzido em: v23.8.0 Converte a estrutura de uma tabela do ClickHouse em um schema no formato Protobuf. Esta função recebe a definição da estrutura de uma tabela do ClickHouse e a converte em uma definição de schema em Protocol Buffers (Protobuf) na sintaxe proto3. Isso é útil para gerar schemas Protobuf que correspondam às estruturas das suas tabelas do ClickHouse para intercâmbio de dados. Sintaxestructure— 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
Introduzido em: v20.12.0 Retorna o número da porta TCP da interface nativa em que o servidor escuta. Se executada no contexto de uma tabela distribuída, esta função gera uma coluna comum com valores relevantes para cada shard. Caso contrário, gera um valor constante.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
UInt16
Exemplos
Exemplo de uso
Query
Response
throwIf
Introduzido em: v1.1.0 Lança uma exceção se o argumento x for true. Para usar o argumentoerror_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
Introduzido em: v1.1.0 Retorna o nome interno do tipo de dados do valor fornecido. Diferentemente da funçãotoTypeName, o tipo de dados retornado pode incluir colunas internas de encapsulamento, como Const e LowCardinality.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
value— Valor cujo tipo de dado interno deve ser retornado.Any
String
Exemplos
Exemplo de uso
Query
Response
toTypeName
Introduzido em: v1.1.0 Retorna o nome do tipo do argumento informado. SeNULL 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
Introduzido em: v26.5.0 Tokeniza uma string de consulta em ClickHouse SQL e retorna um array de tokens. Cada token é uma tupla nomeada com a posição inicial (em bytes), a posição final e o tipo do token. Sintaxequery— 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
Introduzido em: v22.6.0 Retorna o ID de uma transação.Esta função faz parte de um recurso experimental.
Ative o suporte experimental a transações adicionando este SETTING à sua configuração:Para mais informações, consulte a página Suporte transacional (ACID).
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
start_csn, local_tid, host_id e session_node_version.
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 um start_csn específico.host_id: UUID do host que iniciou esta transação.session_node_version: Versão do znode de session do host no início da transação; permite que os peers detectem um TID de sessão encerrada entre as réplicas.Tuple(UInt64, UInt64, UUID, Int64)
Query
Response
transactionLatestSnapshot
Introduzido em: v22.6.0 Retorna o snapshot mais recente (Commit Sequence Number) de uma transação disponível para leitura.Esta função faz parte de um recurso experimental. 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
Introduzido em: v22.6.0 Retorna o snapshot mais antigo (Commit Sequence Number) visível para alguma transação em execução.Esta função faz parte de um recurso experimental. 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
Introduzido em: v1.1.0 Transforma um valor de acordo com um mapeamento explicitamente definido entre determinados elementos e outros elementos. Há duas variações desta função: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
Introduzido em: v22.9.0 Dois objetosuniqThetaSketch 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
Introduzido em: v22.9.0 Dois objetosuniqThetaSketch 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
Introduzido em: v22.9.0 Usa dois objetosuniqThetaSketch 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
Introduzido em: v1.1.0 Retorna o uptime do servidor em segundos. Se for executada no contexto de uma tabela distribuída, essa função gera uma coluna comum com valores correspondentes a cada shard. Caso contrário, produz um valor constante.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
UInt32
Exemplos
Exemplo de uso
Query
Response
variantElement
Introduzido em: v25.2.0 Extrai, de uma colunaVariant, 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
Introduzido em: v24.2.0 Retorna o nome do tipo de variante de cada linha da colunaVariant. Se a linha contiver NULL, retorna ‘None’.
Sintaxe
variant— coluna Variant.Variant
Enum
Exemplos
Exemplo de uso
Query
Response
version
Introduzido na versão: v1.1.0 Retorna a versão atual do ClickHouse como uma string no formato: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.
Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
String
Exemplos
Exemplo de uso
Query
Response
visibleWidth
Introduzido em: v1.1.0 Calcula a largura aproximada ao gerar valores no console em formato de texto (separado por tabulação). Esta função é usada pelo sistema para implementar os formatos Pretty.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
Introduzido em: v21.11.0 Retorna o uptime da sessão atual do ZooKeeper, em segundos.Esta função é não determinística: pode retornar resultados diferentes para os mesmos argumentos.
- Nenhum.
UInt32
Exemplos
Exemplo de uso
Query
Response