bech32Decode
Introduzido em: v25.6.0 Decodifica uma string de endereço Bech32 gerada pelos algoritmos bech32 ou bech32m.Ao contrário da função de codificação,
bech32Decode lida automaticamente com FixedStrings preenchidas.address— Uma string Bech32 a ser decodificada.StringouFixedStringmode— Opcional. Passe'raw'para decodificar sem remover o primeiro byte como versão witness. Use essa opção para endereços não SegWit (por exemplo, Cosmos SDK).String
(hrp, data) usada para codificar a string. Os dados estão em formato binário. Tuple(String, String)
Exemplos
Decodificar endereço
Query
Response
Query
Response
bech32Encode
Introduzido em: v25.6.0 Codifica uma string de dados binários, juntamente com uma parte legível por humanos (HRP), usando os algoritmos Bech32 ou Bech32m.Ao usar o tipo de dados
FixedString, se um valor não preencher completamente a linha, ele será completado com caracteres nulos.
Embora a função bech32Encode trate isso automaticamente para o argumento hrp, no caso do argumento data os valores não devem ser completados.
Por esse motivo, não é recomendável usar o tipo de dados FixedString para seus valores de dados, a menos que você tenha
certeza de que todos eles têm o mesmo comprimento e garanta que sua coluna FixedString também esteja definida com esse comprimento.hrp— UmaStringde1 - 83caracteres minúsculos que especifica a “parte legível por humanos” do código. Geralmente ‘bc’ ou ‘tb’.StringouFixedStringdata— UmaStringde dados binários para codificação.StringouFixedStringwitver_or_variant— Opcional. Pode ser uma versão witness UInt* (padrão = 1,0para Bech32,1+ para Bech32m) ou uma variante de codificação String:'bech32'(BIP173) ou'bech32m'(BIP350). Quando uma variante String é usada, nenhum byte de versão witness é prefixado — isso é necessário para endereços não SegWit, como os do Cosmos SDK.UInt*ouString
String
Exemplos
Bech32m padrão
Query
Response
Query
Response
Query
Response
Query
Response
bin
Introduzido em: v21.8.0 Retorna uma string contendo a representação binária do argumento, de acordo com a lógica a seguir para diferentes tipos:
Sintaxe
arg— Um valor a ser convertido para binário.StringouFixedStringou(U)Int*ouFloat*ouDecimalouDateouDateTime
String
Exemplos
Inteiro simples
Query
Response
Query
Response
Query
Response
Query
Response
bitPositionsToArray
Introduzido em: v21.7.0 Esta função retorna as posições (em ordem crescente) dos bits definidos como 1 na representação binária de um inteiro sem sinal. Inteiros de entrada com sinal são primeiro convertidos em um inteiro sem sinal. Sintaxearg— Um valor inteiro.(U)Int*
Array(UInt64)
Exemplos
Um único bit ativado
Query
Response
Query
Response
bitmaskToArray
Introduzido em: v1.1.0 Esta função decompõe um inteiro em uma soma de potências de dois. As potências de dois são retornadas em um array ordenado em ordem crescente. Sintaxenum— Um valor inteiro.(U)Int*
Array(UInt64)
Exemplos
Exemplo básico
Query
Response
Query
Response
bitmaskToList
Introduzido em: v1.1.0 Semelhante a bitmaskToArray, mas retorna as potências de dois como uma string separada por vírgula. Sintaxenum— Um valor inteiro.(U)Int*
String
Exemplos
Exemplo básico
Query
Response
char
Introduzido em: v20.1.0 Retorna uma string com comprimento igual ao número de argumentos passados, em que cada byte tem o valor do argumento correspondente. Aceita vários argumentos de tipos numéricos. Se o valor do argumento estiver fora do intervalo do tipo de dadoUInt8, ele será convertido
para UInt8, com possível arredondamento e estouro.
Sintaxe
num1[, num2[, num3 ...]]— Argumentos numéricos interpretados como inteiros.(U)Int8/16/32/64ouFloat*
String
Exemplos
Exemplo básico
Query
Response
Query
Response
hex
Introduzido em: v1.1.0 Retorna uma string contendo a representação hexadecimal do argumento de acordo com a lógica a seguir para diferentes tipos:
A função usa letras maiúsculas
A-F e não usa prefixos (como 0x) nem sufixos (como h).
Sintaxe
arg— Um valor a ser convertido em hexadecimal.Stringou(U)Int*ouFloat*ouDecimalouDateouDateTime
String
Exemplos
Inteiro simples
Query
Response
Query
Response
Query
Response
Query
Response
hilbertDecode
Introduzido em: v24.6.0 Decodifica um índice da curva de Hilbert novamente em uma tupla de inteiros sem sinal, representando coordenadas em um espaço multidimensional. Assim como a funçãohilbertEncode, esta função tem dois modos de operação:
- Simples
- Expandido
UInt64.
Modo expandido
Aceita uma máscara de intervalo (tupla) como primeiro argumento e até 2 inteiros sem sinal como
outros argumentos. Cada número na máscara configura o número de bits pelos quais
o argumento correspondente será deslocado à esquerda, escalando efetivamente o argumento
dentro do seu intervalo.
A expansão de intervalo pode ser útil quando você precisa de uma distribuição semelhante para
argumentos com intervalos (ou cardinalidade) muito diferentes entre si. Por exemplo: ‘endereço IP’ (0...FFFFFFFF)
e ‘código do país’ (0...FF). Assim como na função de codificação, isso é limitado a 8
números no máximo.
Sintaxe
tuple_size— Valor inteiro de no máximo2.UInt8/16/32/64ouTuple(UInt8/16/32/64)code— CódigoUInt64.UInt64
Tuple(UInt64)
Exemplos
Modo simples
Query
Response
Query
Response
Query
Response
Query
Response
hilbertEncode
Introduzido em: v24.6.0 Calcula o código da Curva de Hilbert para uma lista de inteiros sem sinal. A função tem dois modos de operação:- Simples
- Expandido
args— Até dois valoresUIntou colunas do tipoUInt.UInt8/16/32/64range_mask— No modo expandido, até dois valoresUIntou colunas do tipoUInt.UInt8/16/32/64
UInt64. UInt64
Exemplos
Modo simples
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
mortonDecode
Introduzido em: v24.6.0 Decodifica uma codificação Morton (ZCurve) na tupla correspondente de inteiros sem sinal. Assim como a funçãomortonEncode, esta função tem dois modos de operação:
- Simples
- Expandido
1- sem redução2- redução de 2x3- redução de 3x ⋮- Até 8x de redução.
(0...FFFFFFFF)
e ‘Código do país’ (0...FF). Assim como na função de codificação, isso é limitado a
no máximo 8 números.
Sintaxe
tuple_size— Valor inteiro de no máximo 8.UInt8/16/32/64range_mask— No modo expandido, a máscara para cada argumento. A máscara é uma tupla de inteiros sem sinal. Cada número na máscara configura o grau de redução do intervalo.Tuple(UInt8/16/32/64)code— Código Morton a ser decodificado, conforme gerado pormortonEncode. Apenas osN * intDiv(64, N)bits menos significativos compõem o domínio de entrada, ondeNé o tamanho da tupla resultante. Os resultados para códigos maiores não são especificados e podem variar entre compilações.UInt64
Tuple(UInt64)
Exemplos
Modo simples
Query
Response
Query
Response
Query
Response
Query
Response
mortonEncode
Introduzido em: v24.6.0 Calcula a codificação Morton (ZCurve) para uma lista de inteiros sem sinal. A função tem dois modos de operação:- Simples
- Expandido*
UInt64.
Modo expandido
Aceita uma máscara de intervalo (tupla) como primeiro argumento e
até 8 inteiros sem sinal nos demais argumentos.
Cada número na máscara configura o fator de expansão do intervalo:
- 1 - sem expansão
- 2 - expansão de 2x
- 3 - expansão de 3x ⋮
- Até 8x de expansão.
args— Até 8 inteiros sem sinal ou colunas do tipo mencionado acima.UInt8/16/32/64range_mask— No modo expandido, a máscara de cada argumento. A máscara é uma tupla de inteiros sem sinal de1a8. Cada número na máscara configura o grau de redução do intervalo.Tuple(UInt8/16/32/64)
UInt64. UInt64
Exemplos
Modo simples
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
sqidDecode
Introduzido em: v24.1.0 Transforma um sqid novamente em um array de números. Sintaxesqid— O sqid a ser decodificado.String
sqid. Array(UInt64)
Exemplos
Exemplo de uso
Query
Response
sqidEncode
Introduzido em: v24.1.0 Transforma números em um sqid, uma sequência de caracteres de ID semelhante à do YouTube. Sintaxesqid
Argumentos
n1[, n2, ...]— Quantos números forem necessários.UInt8/16/32/64
String
Exemplos
Exemplo de uso
Query
Response
unbin
Introduzido em: v21.8.0 Interpreta cada par de dígitos binários (no argumento) como um número e o converte no byte representado por esse número. A função executa a operação oposta à de bin. Para um argumento numérico,unbin() não retorna o inverso de bin(). Se você quiser converter o resultado em um número, pode usar as funções reverse e reinterpretAs<Type>.
Se
unbin for chamado de dentro do clickhouse-client, as strings binárias serão exibidas usando UTF-8.0 e 1. A quantidade de dígitos binários não precisa ser múltipla de oito. Se a string do argumento contiver qualquer coisa além de dígitos binários,
o resultado será indefinido (nenhuma exceção é lançada).
Sintaxe
arg— Uma string que contém qualquer número de dígitos binários.String
String
Exemplos
Uso básico
Query
Response
Query
Response
unhex
Introduzido em: v1.1.0 Executa a operação inversa dehex. Interpreta cada par de dígitos hexadecimais (no argumento) como um número e o converte
no byte representado por esse número. O valor retornado é uma string binária (BLOB).
Se você quiser converter o resultado em um número, pode usar as funções reverse e reinterpretAs<Type>.
clickhouse-client interpreta strings como UTF-8.
Isso pode fazer com que os valores retornados por hex sejam exibidos de forma inesperada.A-F, tanto maiúsculas quanto minúsculas.
A quantidade de dígitos hexadecimais não precisa ser par.
Se for ímpar, o último dígito é interpretado como a metade menos significativa do byte 00-0F.
Se a string do argumento contiver qualquer caractere que não seja um dígito hexadecimal, algum resultado definido pela implementação será retornado (nenhuma exceção é lançada).
Para um argumento numérico, unhex() não executa o inverso de hex(N).
Sintaxe
arg— Uma sequência de caracteres contendo qualquer quantidade de dígitos hexadecimais.StringouFixedString
String
Exemplos
Uso básico
Query
Response
Query
Response