Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Funções para trabalhar com String

As funções para buscar em strings e para substituir em strings são descritas separadamente.

CRC32

Introduzido em: v20.1.0

Calcula o checksum CRC32 de uma string usando o polinômio CRC-32-IEEE 802.3 e o valor inicial 0xffffffff (implementação do zlib).

Sintaxe

CRC32(s)

Argumentos

  • s — String para a qual calcular o CRC32. String

Valor retornado

Retorna o checksum CRC32 da string. UInt32

Exemplos

Exemplo de uso

SELECT CRC32('ClickHouse')
┌─CRC32('ClickHouse')─┐
│          1538217360 │
└─────────────────────┘

CRC32IEEE

Introduzido em: v20.1.0

Calcula o checksum CRC32 de uma string usando o polinômio CRC-32-IEEE 802.3.

Sintaxe

CRC32IEEE(s)

Argumentos

  • s — String para a qual calcular o CRC32. String

Valor retornado

Retorna o checksum CRC32 da string. UInt32

Exemplos

Exemplo de uso

SELECT CRC32IEEE('ClickHouse');
┌─CRC32IEEE('ClickHouse')─┐
│              3089448422 │
└─────────────────────────┘

CRC64

Introduzido em: v20.1.0

Calcula o checksum CRC64 de uma string usando o polinômio CRC-64-ECMA.

Sintaxe

CRC64(s)

Argumentos

  • s — String para a qual calcular o CRC64. String

Valor retornado

Retorna o checksum CRC64 da string. UInt64

Exemplos

Exemplo de uso

SELECT CRC64('ClickHouse');
┌──CRC64('ClickHouse')─┐
│ 12126588151325169346 │
└──────────────────────┘

appendTrailingCharIfAbsent

Introduzido em: v1.1.0

Adiciona o caractere c à string s se s não estiver vazia e não terminar com o caractere c.

Sintaxe

appendTrailingCharIfAbsent(s, c)

Argumentos

  • s — String de entrada. String
  • c — Caractere a ser acrescentado, caso esteja ausente. String

Valor retornado

Retorna a string s com o caractere c acrescentado, caso s não termine com c. String

Exemplos

Exemplo de uso

SELECT appendTrailingCharIfAbsent('https://example.com', '/');
┌─appendTrailingCharIfAbsent('https://example.com', '/')─┐
│ https://example.com/                                   │
└────────────────────────────────────────────────────────┘

ascii

Introduzido em: v22.11.0

Retorna o código ASCII do primeiro caractere da string s como um Int32.

Sintaxe

ascii(s)

Argumentos

  • s — Entrada do tipo String. String

Valor retornado

Retorna o ponto de código ASCII do primeiro caractere. Se s estiver vazio, o resultado será 0. Se o primeiro caractere não for um caractere ASCII ou não fizer parte do intervalo suplementar Latin-1 do UTF-16, o resultado será indefinido. Int32

Exemplos

Exemplo de uso

SELECT ascii('234')
┌─ascii('234')─┐
│           50 │
└──────────────┘

base32Decode

Introduzido em: v25.6.0

Decodifica uma string em Base32 (RFC 4648). Se a string não estiver codificada em Base32 de forma válida, uma exceção será gerada.

Sintaxe

base32Decode(encoded)

Argumentos

  • encoded — coluna ou constante do tipo String. String

Valor retornado

Retorna uma string contendo o valor decodificado do argumento. String

Exemplos

Exemplo de uso

SELECT base32Decode('IVXGG33EMVSA====');
┌─base32Decode('IVXGG33EMVSA====')─┐
│ Encoded                          │
└──────────────────────────────────┘

base32Encode

Introduzido em: v25.6.0

Codifica uma cadeia de caracteres usando Base32.

Sintaxe

base32Encode(plaintext)

Argumentos

  • plaintext — texto simples a ser codificado. String

Valor retornado

Retorna uma string contendo o valor codificado do argumento. String ou FixedString

Exemplos

Exemplo de uso

SELECT base32Encode('Encoded')
┌─base32Encode('Encoded')─┐
│ IVXGG33EMVSA====        │
└─────────────────────────┘

base58Decode

Introduzido em: v22.7.0

Decodifica uma string em Base58. Se a string não for uma codificação Base58 válida, uma exceção será lançada. Um segundo argumento opcional, expected_size, pode ser fornecido para selecionar um decodificador otimizado de tamanho fixo. No momento, os valores compatíveis são 32 e 64. Para outros valores, o decodificador genérico é usado. Quando o decodificador otimizado é selecionado, mas a entrada não pode ser decodificada em exatamente essa quantidade de bytes, a função lança uma exceção (ou retorna uma string vazia para tryBase58Decode).

Sintaxe

base58Decode(encoded[, expected_size])

Argumentos

  • encoded — coluna String ou constante a ser decodificada. String
  • expected_size — Opcional. Tamanho esperado após a decodificação, em bytes. Quando o valor for 32 ou 64, será usado um decodificador otimizado; para outros valores, será usado o decodificador genérico. UInt8, UInt16, UInt32 ou UInt64

Valor retornado

Retorna uma string que contém o valor decodificado do argumento. String

Exemplos

Exemplo de uso

SELECT base58Decode('JxF12TrwUP45BMd');
┌─base58Decode('JxF12TrwUP45BMd')─┐
│ Hello World                     │
└─────────────────────────────────┘

base58Encode

Introduzido em: v22.7.0

Codifica uma string usando a codificação Base58.

Sintaxe

base58Encode(plaintext)

Argumentos

  • plaintext — texto simples a ser codificado. String

Valor retornado

Retorna uma string contendo o valor codificado do argumento. String

Exemplos

Exemplo de uso

SELECT base58Encode('ClickHouse');
┌─base58Encode('ClickHouse')─┐
│ 4nhk8K7GHXf6zx             │
└────────────────────────────┘

base64Decode

Introduzido em: v18.16.0

Decodifica uma string em representação Base64, de acordo com a RFC 4648. Desde a versão 26.7, os caracteres de espaço em branco — espaço, tabulação (\t), quebra de linha (\n), retorno de carro (\r) e avanço de formulário (\f) — na entrada são ignorados (versões anteriores rejeitavam entradas que os continham). A tabulação vertical (\v) e quaisquer outros caracteres fora do alfabeto Base64 são rejeitados. Lança uma exceção em caso de erro.

Sintaxe

base64Decode(encoded)

Aliases: FROM_BASE64

Argumentos

  • encoded — coluna do tipo String ou constante a ser decodificada. Se a string não for uma codificação Base64 válida, uma exceção será lançada. String

Valor retornado

Retorna a string decodificada. String

Exemplos

Exemplo de uso

SELECT base64Decode('Y2xpY2tob3VzZQ==')
┌─base64Decode('Y2xpY2tob3VzZQ==')─┐
│ clickhouse                       │
└──────────────────────────────────┘

base64Encode

Introduzido em: v18.16.0

Codifica uma string na representação Base64, de acordo com a RFC 4648.

Sintaxe

base64Encode(plaintext)

Aliases: TO_BASE64

Argumentos

  • plaintext — Coluna ou constante de texto simples a ser decodificada. String

Valor retornado

Retorna uma string com o valor codificado do argumento. String

Exemplos

Exemplo de uso

SELECT base64Encode('clickhouse')
┌─base64Encode('clickhouse')─┐
│ Y2xpY2tob3VzZQ==           │
└────────────────────────────┘

base64URLDecode

Introduzido em: v24.6.0

Decodifica uma string a partir da representação Base64, usando um alfabeto seguro para URL, de acordo com a RFC 4648. O alfabeto padrão (+ e /) também é aceito na decodificação. Desde a versão 26.7, os caracteres de espaço em branco espaço, tab (\t), quebra de linha (\n), retorno de carro (\r) e avanço de formulário (\f) na entrada são ignorados (as versões anteriores rejeitavam entradas que os continham). A tabulação vertical (\v) e quaisquer outros caracteres fora do alfabeto Base64 são rejeitados. Lança uma exceção em caso de erro.

Sintaxe

base64URLDecode(encoded)

Argumentos

  • encoded — coluna ou constante do tipo String a ser codificada. Se a string não estiver codificada em Base64 de forma válida, uma exceção será lançada. String

Valor retornado

Retorna uma string que contém o valor decodificado do argumento. String

Exemplos

Exemplo de uso

SELECT base64URLDecode('aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ')
┌─base64URLDecode('aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ')─┐
│ https://clickhouse.com                            │
└───────────────────────────────────────────────────┘

base64URLEncode

Introduzido na versão: v18.16.0

Codifica uma string usando a representação Base64 (RFC 4648) com um alfabeto seguro para URL.

Sintaxe

base64URLEncode(plaintext)

Argumentos

  • plaintext — Coluna ou constante de texto simples a ser codificada. String

Valor retornado

Retorna uma string contendo o valor codificado do argumento. String

Exemplos

Exemplo de uso

SELECT base64URLEncode('https://clickhouse.com')
┌─base64URLEncode('https://clickhouse.com')─┐
│ aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ            │
└───────────────────────────────────────────┘

basename

Introduzido em: v20.1.0

Extrai a parte final de uma string após a última barra ou barra invertida. Essa função é frequentemente usada para extrair o nome do arquivo de um caminho.

Sintaxe

basename(expr)

Argumentos

  • expr — Uma expressão de string. As barras invertidas devem ser escapadas. String

Valor retornado

Retorna a parte final da string de entrada após a última barra ou barra invertida. Se a string de entrada terminar com uma barra ou barra invertida, a função retornará uma string vazia. Retorna a string original se não houver barras nem barras invertidas. String

Exemplos

Extrair o nome do arquivo de um caminho Unix

SELECT 'some/long/path/to/file' AS a, basename(a)
┌─a──────────────────────┬─basename(a)─┐
│ some/long/path/to/file │ file        │
└────────────────────────┴─────────────┘

Extrair o nome do arquivo de um caminho do Windows

SELECT 'some\\long\\path\\to\\file' AS a, basename(a)
┌─a──────────────────────┬─basename(a)─┐
│ some\long\path\to\file │ file        │
└────────────────────────┴─────────────┘

String sem separadores de caminho

SELECT 'some-file-name' AS a, basename(a)
┌─a──────────────┬─basename(a)────┐
│ some-file-name │ some-file-name │
└────────────────┴────────────────┘

byteHammingDistance

Introduzido em: v23.9.0

Calcula a distância de Hamming entre duas sequências de bytes.

Sintaxe

byteHammingDistance(s1, s2)

Aliases: mismatches

Argumentos

  • s1 — Primeira string de entrada. String
  • s2 — Segunda string de entrada. String

Valor retornado

Retorna a distância de Hamming entre as duas strings. UInt64

Exemplos

Exemplo de uso

SELECT byteHammingDistance('karolin', 'kathrin')
┌─byteHammingDistance('karolin', 'kathrin')─┐
│                                         3 │
└───────────────────────────────────────────┘

caseFoldUTF8

Introduzido em: v26.3.0

Aplica o case folding do Unicode a uma string UTF-8, convertendo-a em uma forma normalizada semelhante a minúsculas, adequada para comparações sem diferenciar maiúsculas de minúsculas.

Aplica o case folding padrão do Unicode. Preserva caracteres de compatibilidade que não são afetados pelo case folding (por exemplo, algarismos romanos, números circundados), mas observe que algumas ligaturas, como , ainda são decompostas porque o próprio case folding do Unicode as expande.

Sintaxe

caseFoldUTF8(str)

Argumentos

  • str — string de entrada codificada em UTF-8. String

Valor retornado

String UTF-8 com case folding aplicado. String

Exemplos

Case folding básico

SELECT caseFoldUTF8('Straße')
┌─caseFoldUTF8('Straße')─┐
│ strasse                │
└────────────────────────┘

compareSubstrings

Introduzido em: v25.2.0

Compara duas strings em ordem lexicográfica.

Sintaxe

compareSubstrings(s1, s2, s1_offset, s2_offset, num_bytes)

Argumentos

  • s1 — A primeira string a ser comparada. String
  • s2 — A segunda string a ser comparada. String
  • s1_offset — A posição em s1 (baseada em zero) a partir da qual a comparação começa. UInt*
  • s2_offset — A posição em s2 (índice baseado em zero) a partir da qual a comparação começa. UInt*
  • num_bytes — O número máximo de bytes a serem comparados em ambas as strings. Se s1_offset (ou s2_offset) + num_bytes ultrapassar o fim de uma string de entrada, num_bytes será reduzido adequadamente. UInt*

Valor retornado

Retorna:

  • -1 se s1[s1_offset : s1_offset + num_bytes] < s2[s2_offset : s2_offset + num_bytes].
  • 0 se s1[s1_offset : s1_offset + num_bytes] = s2[s2_offset : s2_offset + num_bytes].
  • 1 se s1[s1_offset : s1_offset + num_bytes] > s2[s2_offset : s2_offset + num_bytes]. Int8

Exemplos

Exemplo de uso

SELECT compareSubstrings('Saxony', 'Anglo-Saxon', 0, 6, 5) AS result
┌─result─┐
│      0 │
└────────┘

concat

Introduzido em: v1.1.0

Concatena os argumentos especificados.

Argumentos que não são dos tipos String ou FixedString são convertidos em strings usando a serialização padrão. Como isso reduz o desempenho, não é recomendável usar argumentos diferentes de String/FixedString.

Sintaxe

concat([s1, s2, ...])

Argumentos

  • s1, s2, ... — Qualquer número de valores de tipo arbitrário. Any

Valor retornado

Retorna a String resultante da concatenação dos argumentos. Se algum dos argumentos for NULL, a função retorna NULL. Se não houver argumentos, retorna uma string vazia. Nullable(String)

Exemplos

Concatenação de strings

SELECT concat('Hello, ', 'World!')
┌─concat('Hello, ', 'World!')─┐
│ Hello, World!               │
└─────────────────────────────┘

Concatenação de números

SELECT concat(42, 144)
┌─concat(42, 144)─┐
│ 42144           │
└─────────────────┘

concatAssumeInjective

Introduzido em: v1.1.0

Semelhante a concat, mas assume que concat(s1, s2, ...) → sn é injetiva, ou seja, retorna resultados diferentes para argumentos distintos.

Pode ser usado para otimizar GROUP BY.

Sintaxe

concatAssumeInjective([s1, s2, ...])

Argumentos

  • s1, s2, ... — Qualquer quantidade de valores de tipo arbitrário. String ou FixedString

Valor retornado

Retorna a string criada pela concatenação dos argumentos. Se qualquer um dos valores dos argumentos for NULL, a função retorna NULL. Se nenhum argumento for passado, retorna uma string vazia. String

Exemplos

Otimização de agrupamento

CREATE TABLE key_val (key1 String, key2 String, value UInt32) ENGINE = Memory;
INSERT INTO key_val VALUES ('Hello, ', 'World!', 1), ('Hello, ', 'World!', 2), ('Hello, ', 'World', 3);

SELECT concatAssumeInjective(key1, key2) AS key, sum(value) FROM key_val GROUP BY key ORDER BY key;
┌─key───────────┬─sum(value)─┐
│ Hello, World  │          3 │
│ Hello, World! │          3 │
└───────────────┴────────────┘

concatWithSeparator

Introduzido em: v22.12.0

Concatena as strings fornecidas, separando-as com o separador especificado.

Sintaxe

concatWithSeparator(sep[, exp1, exp2, ...])

Aliases: concat_ws

Argumentos

  • sep — O separador a ser usado. const String ou const FixedString
  • exp1, exp2, ... — Expressão a ser concatenada. Argumentos que não são do tipo String ou FixedString são convertidos em strings usando a serialização padrão. Como isso reduz o desempenho, não é recomendado usar argumentos diferentes de String/FixedString. Any

Valor retornado

Retorna a String criada pela concatenação dos argumentos. Se qualquer um dos valores dos argumentos for NULL, a função retorna NULL. String

Exemplos

Exemplo de uso

SELECT concatWithSeparator('a', '1', '2', '3', '4')
┌─concatWithSeparator('a', '1', '2', '3', '4')─┐
│ 1a2a3a4                                      │
└──────────────────────────────────────────────┘

concatWithSeparatorAssumeInjective

Introduzido em: v22.12.0

Como concatWithSeparator, mas assume que concatWithSeparator(sep[,exp1, exp2, ... ]) → result seja injetiva. Uma função é considerada injetiva se retornar resultados distintos para argumentos distintos.

Pode ser usada para otimizar GROUP BY.

Sintaxe

concatWithSeparatorAssumeInjective(sep[, exp1, exp2, ... ])

Argumentos

  • sep — O separador a ser usado. const String ou const FixedString
  • exp1, exp2, ... — Expressão a ser concatenada. Argumentos que não são do tipo String ou FixedString são convertidos em strings usando a serialização padrão. Como isso reduz o desempenho, não é recomendável usar argumentos diferentes de String/FixedString. String ou FixedString

Valor retornado

Retorna a String criada pela concatenação dos argumentos. Se qualquer um dos valores dos argumentos for NULL, a função retorna NULL. String

Exemplos

Exemplo de uso

CREATE TABLE user_data (
user_id UInt32,
first_name String,
last_name String,
score UInt32
)
ENGINE = MergeTree
ORDER BY tuple();

INSERT INTO user_data VALUES
(1, 'John', 'Doe', 100),
(2, 'Jane', 'Smith', 150),
(3, 'John', 'Wilson', 120),
(4, 'Jane', 'Smith', 90);

SELECT
    concatWithSeparatorAssumeInjective('-', first_name, last_name) as full_name,
    sum(score) as total_score
FROM user_data
GROUP BY concatWithSeparatorAssumeInjective('-', first_name, last_name);
┌─full_name───┬─total_score─┐
│ Jane-Smith  │         240 │
│ John-Doe    │         100 │
│ John-Wilson │         120 │
└─────────────┴─────────────┘

conv

Introduzido em: v25.10.0

Converte números entre diferentes bases numéricas.

A função converte um número de uma base numérica para outra. Ela oferece suporte a bases de 2 a 36. Para bases maiores que 10, as letras A-Z (sem diferenciar maiúsculas de minúsculas) são usadas para representar os dígitos de 10 a 35.

Esta função é compatível com a função CONV() do MySQL.

Sintaxe

conv(number, from_base, to_base)

Argumentos

  • number — O número a ser convertido. Pode ser uma string ou um tipo numérico. - from_base — A base de origem (2-36). Deve ser um número inteiro. - to_base — A base de destino (2-36). Deve ser um número inteiro.

Valor retornado

Representação em string do número na base de destino.

Exemplos

Converter decimal em binário

SELECT conv('10', 10, 2)
1010

Converter hexadecimal para decimal

SELECT conv('FF', 16, 10)
255

Conversão com número negativo

SELECT conv('-1', 10, 16)
FFFFFFFFFFFFFFFF

Converter binário para octal

SELECT conv('1010', 2, 8)
12

convertCharset

Introduzido em: v1.1.0

Retorna a string s convertida da codificação from para a codificação to.

Sintaxe

convertCharset(s, from, to)

Argumentos

  • s — String de entrada. String
  • from — Codificação de caracteres de origem. String
  • to — Codificação de caracteres de destino. String

Valor retornado

Retorna a string s, convertida da codificação from para a codificação to. String

Exemplos

Exemplo de uso

SELECT convertCharset('Café', 'UTF-8', 'ISO-8859-1');
┌─convertCharset('Café', 'UTF-8', 'ISO-8859-1')─┐
│ Caf�                                           │
└───────────────────────────────────────────────┘

damerauLevenshteinDistance

Introduzido em: v24.1.0

Calcula a distância de Damerau-Levenshtein entre duas strings de bytes.

Sintaxe

damerauLevenshteinDistance(s1, s2)

Argumentos

  • s1 — Primeira string de entrada. String
  • s2 — Segunda string de entrada. String

Valor retornado

Retorna a distância de Damerau-Levenshtein entre as duas strings. UInt64

Exemplos

Exemplo de uso

SELECT damerauLevenshteinDistance('clickhouse', 'mouse')
┌─damerauLevenshteinDistance('clickhouse', 'mouse')─┐
│                                                 6 │
└───────────────────────────────────────────────────┘

decodeHTMLComponent

Introduzido em: v23.9.0

Decodifica entidades HTML em uma string, convertendo-as nos caracteres correspondentes.

Sintaxe

decodeHTMLComponent(s)

Argumentos

  • s — String que contém entidades HTML a serem decodificadas. String

Valor retornado

Retorna a string com as entidades HTML decodificadas. String

Exemplos

Exemplo de uso

SELECT decodeHTMLComponent('&lt;div&gt;Hello &amp; &quot;World&quot;&lt;/div&gt;')
┌─decodeHTMLComponent('&lt;div&gt;Hello &amp; &quot;World&quot;&lt;/div&gt;')─┐
│ <div>Hello & "World"</div>                                                  │
└─────────────────────────────────────────────────────────────────────────────┘

decodeXMLComponent

Introduzido em: v21.2.0

Decodifica entidades XML em uma string, convertendo-as em seus caracteres correspondentes.

Sintaxe

decodeXMLComponent(s)

Argumentos

  • s — String com entidades XML a serem decodificadas. String

Valor retornado

Retorna a string fornecida com as entidades XML decodificadas. String

Exemplos

Exemplo de uso

SELECT decodeXMLComponent('&lt;tag&gt;Hello &amp; World&lt;/tag&gt;')
┌─decodeXMLComponent('&lt;tag&gt;Hello &amp; World&lt;/tag&gt;')─┐
│ <tag>Hello & World</tag>                                       │
└────────────────────────────────────────────────────────────────┘

editDistance

Introduzido em: v23.9.0

Calcula a distância de edição entre duas sequências de bytes.

Sintaxe

editDistance(s1, s2)

Aliases: levenshteinDistance

Argumentos

  • s1 — Primeira string de entrada. String
  • s2 — Segunda string de entrada. String

Valor retornado

Retorna a distância de edição entre as duas strings. UInt64

Exemplos

Exemplo de uso

SELECT editDistance('clickhouse', 'mouse')
┌─editDistance('clickhouse', 'mouse')─┐
│                                   6 │
└─────────────────────────────────────┘

editDistanceUTF8

Introduzido em: v24.6.0

Calcula a distância de edição entre duas strings UTF-8.

Sintaxe

editDistanceUTF8(s1, s2)

Aliases: levenshteinDistanceUTF8

Argumentos

  • s1 — Primeira string de entrada. String
  • s2 — Segunda string de entrada. String

Valor retornado

Retorna a distância de edição entre as duas strings UTF-8. UInt64

Exemplos

Exemplo de uso

SELECT editDistanceUTF8('我是谁', '我是我') AS distance
┌─distance─┐
│        1 │
└──────────┘

encodeXMLComponent

Introduzido em: v21.1.0

Escapa caracteres para inserir uma string em um nó de texto ou em um atributo XML.

Sintaxe

encodeXMLComponent(s)

Argumentos

  • s — String a ser escapada. String

Valor retornado

Retorna a string escapada. String

Exemplos

Exemplo de uso

SELECT
    '<tag>Hello & "World"</tag>' AS original,
    encodeXMLComponent('<tag>Hello & "World"</tag>') AS xml_encoded;
┌─original───────────────────┬─xml_encoded──────────────────────────────────────────┐
│ <tag>Hello & "World"</tag> │ &lt;tag&gt;Hello &amp; &quot;World&quot;&lt;/tag&gt; │
└────────────────────────────┴──────────────────────────────────────────────────────┘

endsWith

Introduzido em: v1.1.0

Verifica se uma string termina com o sufixo informado.

Sintaxe

endsWith(s, suffix)

Argumentos

  • s — String a ser verificada. String
  • suffix — Sufixo a ser verificado. String

Valor retornado

Retorna 1 se s terminar com suffix; caso contrário, 0. UInt8

Exemplos

Exemplo de uso

SELECT endsWith('ClickHouse', 'House');
┌─endsWith('ClickHouse', 'House')─┐
│                               1 │
└─────────────────────────────────┘

endsWithCaseInsensitive

Introduzido em: v25.10.0

Verifica se uma string termina com o sufixo fornecido sem diferenciar maiúsculas de minúsculas.

Sintaxe

endsWithCaseInsensitive(s, suffix)

Argumentos

  • s — String a ser verificada. String
  • suffix — Sufixo sem distinção entre maiúsculas e minúsculas a ser verificado. String

Valor retornado

Retorna 1 se s terminar com o suffix sem distinção entre maiúsculas e minúsculas; caso contrário, 0. UInt8

Exemplos

Exemplo de uso

SELECT endsWithCaseInsensitive('ClickHouse', 'HOUSE');
┌─endsWithCaseInsensitive('ClickHouse', 'HOUSE')─┐
│                                              1 │
└────────────────────────────────────────────────┘

endsWithCaseInsensitiveUTF8

Introduzido na versão: v25.10.0

Retorna se a string s termina com o suffix, sem diferenciar maiúsculas de minúsculas. Pressupõe que a string contenha texto válido codificado em UTF-8. Se essa suposição for violada, nenhuma exceção é lançada e o resultado é indefinido.

Sintaxe

endsWithCaseInsensitiveUTF8(s, suffix)

Argumentos

  • s — String a ser verificada. String
  • suffix — Sufixo, sem distinção entre maiúsculas e minúsculas, a ser verificado. String

Valor retornado

Retorna 1 se s terminar com suffix sem distinção entre maiúsculas e minúsculas; caso contrário, 0. UInt8

Exemplos

Exemplo de uso

SELECT endsWithCaseInsensitiveUTF8('данных', 'ых');
┌─endsWithCaseInsensitiveUTF8('данных', 'ых')─┐
│                                           1 │
└─────────────────────────────────────────────┘

endsWithUTF8

Introduzido em: v23.8.0

Retorna se a string s termina com suffix. Pressupõe que a string contenha texto válido codificado em UTF-8. Se essa suposição for violada, nenhuma exceção é lançada e o resultado é indefinido.

Sintaxe

endsWithUTF8(s, suffix)

Argumentos

  • s — String a ser verificada. String
  • suffix — Sufixo a ser verificado. String

Valor retornado

Retorna 1 se s terminar com suffix; caso contrário, 0. UInt8

Exemplos

Exemplo de uso

SELECT endsWithUTF8('данных', 'ых');
┌─endsWithUTF8('данных', 'ых')─┐
│                            1 │
└──────────────────────────────┘

extractTextFromHTML

Introduzido em: v21.3.0

Extrai conteúdo textual de HTML ou XHTML.

Esta função remove tags HTML, comentários e elementos script/style, deixando apenas o conteúdo textual. Ela faz o seguinte:

  • Remove todas as tags HTML/XML
  • Remove comentários ({/* */})
  • Remove elementos script e style com seu conteúdo
  • Processa seções CDATA (copiadas literalmente)
  • Trata e normaliza adequadamente os espaços em branco

Observação: entidades HTML não são decodificadas e devem ser processadas com uma função separada, se necessário.

Sintaxe

extractTextFromHTML(html)

Argumentos

  • htmlString que contém o conteúdo HTML do qual o texto será extraído. String

Valor retornado

Retorna o conteúdo de texto extraído com os espaços em branco normalizados. String

Exemplos

Exemplo de uso

SELECT extractTextFromHTML('
<html>
    <head><title>Page Title</title></head>
    <body>
        <p>Hello <b>World</b>!</p>
        <script>alert("test");</script>
        <!-- comment -->
    </body>
</html>
');
┌─extractTextFromHTML('\n<html>\n    <head><title>Page Title</title></head>\n    <body>\n        <p>Hello <b>World</b>!</p>\n        <script>alert("test");</script>\n        <!-- comment -->\n    </body>\n</html>\n')─┐
│ Page Title Hello World !                                                                                                                                                                                               │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

firstLine

Introduzido em: v23.7.0

Retorna a primeira linha de uma string multilinha.

Sintaxe

firstLine(s)

Argumentos

  • s — String de entrada. String

Valor retornado

Retorna a primeira linha da string de entrada ou a string inteira, se não houver separadores de linha. String

Exemplos

Exemplo de uso

SELECT firstLine('foo\\nbar\\nbaz')
┌─firstLine('foo\\nbar\\nbaz')─┐
│ foo\nbar\nbaz                │
└──────────────────────────────┘

idnaDecode

Introduzido em: v24.1.0

Retorna a representação Unicode (UTF-8) (algoritmo ToUnicode) de um nome de domínio de acordo com o mecanismo Internationalized Domain Names in Applications (IDNA). Em caso de erro (por exemplo, se a entrada for inválida), a string de entrada é retornada. Observe que aplicar idnaEncode() e idnaDecode() repetidamente não necessariamente retorna a string original devido à normalização de maiúsculas e minúsculas.

Sintaxe

idnaDecode(s)

Argumentos

  • s — String de entrada. String

Valor retornado

Retorna uma representação Unicode (UTF-8) da string de entrada, de acordo com o mecanismo IDNA do valor de entrada. String

Exemplos

Exemplo de uso

SELECT idnaDecode('xn--strae-oqa.xn--mnchen-3ya.de')
┌─idnaDecode('xn--strae-oqa.xn--mnchen-3ya.de')─┐
│ straße.münchen.de                             │
└───────────────────────────────────────────────┘

idnaEncode

Introduzido em: v24.1.0

Retorna a representação ASCII (algoritmo ToASCII) de um nome de domínio de acordo com o mecanismo Internationalized Domain Names in Applications (IDNA). A string de entrada deve estar codificada em UTF e ser convertível em uma string ASCII; caso contrário, uma exceção é lançada.

Sintaxe

idnaEncode(s)

Argumentos

  • s — String de entrada. String

Valor retornado

Retorna uma representação ASCII da string de entrada de acordo com o mecanismo IDNA do valor de entrada. String

Exemplos

Exemplo de uso

SELECT idnaEncode('straße.münchen.de')
┌─idnaEncode('straße.münchen.de')─┐
│ xn--strae-oqa.xn--mnchen-3ya.de │
└─────────────────────────────────┘

initcap

Introduzido na versão: v23.7.0

Converte a primeira letra de cada palavra em maiúscula e o restante em minúsculas. As palavras são sequências de caracteres alfanuméricos separadas por caracteres não alfanuméricos.

Sintaxe

initcap(s)

Argumentos

  • s — String de entrada. String

Valor retornado

Retorna s com a primeira letra de cada palavra convertida em maiúscula. String

Exemplos

Exemplo de uso

SELECT initcap('building for fast')
┌─initcap('building for fast')─┐
│ Building For Fast            │
└──────────────────────────────┘

Exemplo de comportamento conhecido para palavras com apóstrofos ou letras maiúsculas

SELECT initcap('John''s cat won''t eat.');
┌─initcap('John\'s cat won\'t eat.')─┐
│ John'S Cat Won'T Eat.              │
└────────────────────────────────────┘

initcapUTF8

Introduzido em: v23.7.0

Assim como initcap, initcapUTF8 converte a primeira letra de cada palavra em maiúscula e as demais em minúscula. Pressupõe que a string contenha texto válido codificado em UTF-8. Se essa suposição for violada, nenhuma exceção é lançada e o resultado é indefinido.

Sintaxe

initcapUTF8(s)

Argumentos

  • s — string de entrada. String

Valor retornado

Retorna s com a primeira letra de cada palavra convertida em maiúscula. String

Exemplos

Exemplo de uso

SELECT initcapUTF8('не тормозит')
┌─initcapUTF8('не тормозит')─┐
│ Не Тормозит                │
└────────────────────────────┘

isValidASCII

Introduzido em: v25.9.0

Retorna 1 se a String ou FixedString de entrada contiver apenas bytes ASCII (0x00–0x7F); caso contrário, retorna 0. Otimizado para o caso positivo (a entrada é ASCII válido).

Sintaxe

isValidASCII(str)

Aliases: isASCII

Argumentos

  • Nenhum.

Valor retornado

Exemplos

isValidASCII

SELECT isValidASCII('hello') AS is_ascii, isValidASCII('你好') AS is_not_ascii
┌─is_ascii─┬─is_not_ascii─┐
│        1 │            0 │
└──────────┴──────────────┘

isValidUTF8

Introduzido em: v20.1.0

Verifica se o conjunto de bytes forma um texto válido codificado em UTF-8.

Sintaxe

isValidUTF8(s)

Argumentos

  • s — A string cuja validade da codificação UTF-8 será verificada. String

Valor retornado

Retorna 1 se o conjunto de bytes constituir um texto válido codificado em UTF-8; caso contrário, 0. UInt8

Exemplos

Exemplo de uso

SELECT isValidUTF8('\\xc3\\xb1') AS valid, isValidUTF8('\\xc3\\x28') AS invalid
┌─valid─┬─invalid─┐
│     1 │       1 │
└───────┴─────────┘

jaroSimilarity

Introduzido em: v24.1.0

Calcula a similaridade de Jaro entre duas sequências de bytes.

Sintaxe

jaroSimilarity(s1, s2)

Argumentos

  • s1 — Primeira string de entrada. String
  • s2 — Segunda string de entrada. String

Valor retornado

Retorna a similaridade de Jaro entre as duas strings. Float64

Exemplos

Exemplo de uso

SELECT jaroSimilarity('clickhouse', 'click')
┌─jaroSimilarity('clickhouse', 'click')─┐
│                    0.8333333333333333 │
└───────────────────────────────────────┘

jaroWinklerSimilarity

Introduzido em: v24.1.0

Calcula a similaridade de Jaro-Winkler entre duas sequências de bytes.

Sintaxe

jaroWinklerSimilarity(s1, s2)

Argumentos

  • s1 — Primeira string de entrada. String
  • s2 — Segunda string de entrada. String

Valor retornado

Retorna a similaridade de Jaro-Winkler entre as duas strings. Float64

Exemplos

Exemplo de uso

SELECT jaroWinklerSimilarity('clickhouse', 'click')
┌─jaroWinklerSimilarity('clickhouse', 'click')─┐
│                           0.8999999999999999 │
└──────────────────────────────────────────────┘

left

Introduzido em: v22.1.0

Retorna uma substring da string s com um offset especificado a partir da esquerda.

Sintaxe

left(s, offset)

Argumentos

  • s — A string da qual será calculada uma substring. String ou FixedString
  • offset — O número de bytes do deslocamento. (U)Int*

Valor retornado

Retorna:

  • Para offset positivo, uma substring de s com offset bytes, começando à esquerda da string.
  • Para offset negativo, uma substring de s com length(s) - |offset| bytes, começando à esquerda da string.
  • Uma string vazia se length for 0. String

Exemplos

Deslocamento positivo

SELECT left('Hello World', 5)
Hello

Offset negativo

SELECT left('Hello World', -6)
Hello

leftPad

Introduzido na versão: v21.8.0

Preenche uma string à esquerda com espaços ou com uma string especificada (repetida várias vezes, se necessário) até que a string resultante atinja o length especificado.

Sintaxe

leftPad(string, length[, pad_string])

Aliases: lpad

Argumentos

  • string — String de entrada a ser preenchida. String
  • length — O comprimento da string resultante. Se o valor for menor que o comprimento da string de entrada, a string de entrada será truncada para length caracteres. (U)Int*
  • pad_string — Opcional. A string usada para preencher a string de entrada. Se não for especificada, a string de entrada será preenchida com espaços. String

Valor retornado

Retorna uma string preenchida à esquerda com o comprimento especificado. String

Exemplos

Exemplo de uso

SELECT leftPad('abc', 7, '*'), leftPad('def', 7)
┌─leftPad('abc', 7, '*')─┬─leftPad('def', 7)─┐
│ ****abc                │     def           │
└────────────────────────┴───────────────────┘

leftPadUTF8

Introduzido na: v21.8.0

Preenche uma string UTF-8 à esquerda com espaços ou com uma string especificada (repetida várias vezes, se necessário) até que a string resultante atinja o comprimento especificado. Ao contrário de leftPad, que mede o comprimento da string em bytes, aqui o comprimento da string é medido em pontos de código.

Sintaxe

leftPadUTF8(string, length[, pad_string])

Argumentos

  • string — String de entrada que deve ser preenchida. String
  • length — O comprimento da string resultante. Se o valor for menor que o comprimento da string de entrada, a string de entrada será truncada para length caracteres. (U)Int*
  • pad_string — Opcional. A string usada para preencher a string de entrada. Se não for especificada, a string de entrada será preenchida com espaços. String

Valor retornado

Retorna uma string preenchida à esquerda com o comprimento especificado. String

Exemplos

Exemplo de uso

SELECT leftPadUTF8('абвг', 7, '*'), leftPadUTF8('дежз', 7)
┌─leftPadUTF8('абвг', 7, '*')─┬─leftPadUTF8('дежз', 7)─┐
│ ***абвг                     │    дежз                │
└─────────────────────────────┴────────────────────────┘

leftUTF8

Introduzido em: v22.1.0

Retorna uma substring da string s codificada em UTF-8, com um offset especificado, a partir da esquerda.

Sintaxe

leftUTF8(s, offset)

Argumentos

  • s — A string codificada em UTF-8 da qual será extraída uma substring. String ou FixedString
  • offset — O deslocamento em bytes. (U)Int*

Valor retornado

Retorna:

  • Para offset positivo, uma substring de s com offset bytes, começando a partir da esquerda da string.\n"
  • Para offset negativo, uma substring de s com length(s) - |offset| bytes, começando a partir da esquerda da string.\n"
  • Uma string vazia se length for 0. String

Exemplos

Offset positivo

SELECT leftUTF8('Привет', 4)
Прив

OFFSET negativo

SELECT leftUTF8('Привет', -4)
Пр

lengthUTF8

Introduzido em: v1.1.0

Retorna o tamanho de uma string em pontos de código Unicode, em vez de em bytes ou caracteres. Para calcular o tamanho de uma string em bytes, use a função length. Supõe que a string contenha texto válido codificado em UTF-8. Se essa suposição for violada, nenhuma exceção é lançada, e o resultado é indefinido.

Sintaxe

lengthUTF8(s)

Aliases: CHARACTER_LENGTH, CHAR_LENGTH

Argumentos

  • s — String que contém texto válido codificado em UTF-8. String

Valor retornado

Comprimento da string s em pontos de código Unicode. UInt64

Exemplos

Exemplo de uso

SELECT lengthUTF8('Здравствуй, мир!')
┌─lengthUTF8('Здравствуй, мир!')─┐
│                             16 │
└────────────────────────────────┘

lower

Introduzido em: v1.1.0

Converte uma cadeia de caracteres ASCII em minúsculas.

Sintaxe

lower(s)

Aliases: lcase

Argumentos

  • s — Uma string a ser convertida para minúsculas. String

Valor retornado

Retorna s em minúsculas. String

Exemplos

Exemplo de uso

SELECT lower('CLICKHOUSE')
┌─lower('CLICKHOUSE')─┐
│ clickhouse          │
└─────────────────────┘

lowerUTF8

Introduzido em: v1.1.0

Converte uma string para minúsculas, assumindo que ela contém texto válido codificado em UTF-8. Se essa suposição for violada, nenhuma exceção será lançada e o resultado será indefinido.

Sintaxe

lowerUTF8(input)

Argumentos

  • input — String de entrada a ser convertida em minúsculas. String

Valor retornado

Retorna uma string em minúsculas. String

Exemplos

primeiro

SELECT lowerUTF8('München') as Lowerutf8;
münchen

naturalSortKey

Introduzido em: v26.3.0

A função é usada para ordenação natural.

Sintaxe

naturalSortKey(s)

Aliases: NATURAL_SORT_KEY

Argumentos

  • s — Uma string a ser convertida em uma chave de ordenação natural. String

Valor retornado

Retorna uma string de chave de ordenação natural a partir de s. String

Exemplos

Exemplo de uso

CREATE TABLE t (s String) ENGINE = Memory;
INSERT INTO t VALUES ('a1'), ('a02');

SELECT s FROM t ORDER BY naturalSortKey(s);
┌─s───┐
│ a1  │
│ a02 │
└─────┘

normalizeUTF8NFC

Introduzido em: v21.11.0

Normaliza uma string UTF-8 de acordo com a forma de normalização NFC.

Sintaxe

normalizeUTF8NFC(str)

Argumentos

  • str — string de entrada codificada em UTF-8. String

Valor retornado

Retorna a forma normalizada NFC da string UTF-8. String

Exemplos

Exemplo de uso

SELECT
'é' AS original, -- e + acento agudo combinado (U+0065 + U+0301)
length(original),
normalizeUTF8NFC('é') AS nfc_normalized, -- é (U+00E9)
length(nfc_normalized);
┌─original─┬─length(original)─┬─nfc_normalized─┬─length(nfc_normalized)─┐
│ é        │                2 │ é              │                      2 │
└──────────┴──────────────────┴────────────────┴────────────────────────┘

normalizeUTF8NFD

Introduzido em: v21.11.0

Normaliza uma string UTF-8 de acordo com a forma de normalização NFD.

Sintaxe

normalizeUTF8NFD(str)

Argumentos

  • str — string de entrada codificada em UTF-8. String

Valor retornado

Retorna a forma normalizada em NFD da string UTF-8. String

Exemplos

Exemplo de uso

SELECT
    'é' AS original, -- é (U+00E9)
    length(original),
    normalizeUTF8NFD('é') AS nfd_normalized, -- e + acento agudo combinante (U+0065 + U+0301)
    length(nfd_normalized);
┌─original─┬─length(original)─┬─nfd_normalized─┬─length(nfd_normalized)─┐
│ é        │                2 │ é              │                      3 │
└──────────┴──────────────────┴────────────────┴────────────────────────┘

normalizeUTF8NFKC

Introduzido em: v21.11.0

Normaliza uma string UTF-8 segundo a forma de normalização NFKC.

Sintaxe

normalizeUTF8NFKC(str)

Argumentos

  • str — string de entrada codificada em UTF-8. String

Valor retornado

Retorna a forma normalizada em NFKC da string UTF-8. String

Exemplos

Exemplo de uso

SELECT
    '① ② ③' AS original,                           -- Circled number characters
    normalizeUTF8NFKC('① ② ③') AS nfkc_normalized  -- Converts to 1 2 3
┌─original─┬─nfkc_normalized─┐
│ ① ② ③    │ 1 2 3           │
└──────────┴─────────────────┘

normalizeUTF8NFKCCasefold

Introduzido em: v26.3.0

Normaliza uma string UTF-8 de acordo com a forma de normalização NFKC_Casefold, que aplica a normalização NFKC e, em seguida, o case folding. Isso é útil para comparação sem diferenciar maiúsculas de minúsculas de identificadores.

Sintaxe

normalizeUTF8NFKCCasefold(str)

Argumentos

  • str — string de entrada codificada em UTF-8. String

Valor retornado

Retorna a forma normalizada NFKC_Casefold da string em UTF-8. String

Exemplos

Exemplo de uso

SELECT
    'Ä ① Hello' AS original,
    normalizeUTF8NFKCCasefold('Ä ① Hello') AS nfkc_cf_normalized;
┌─original──┬─nfkc_cf_normalized─┐
│ Ä ① Hello │ ä 1 hello          │
└───────────┴────────────────────┘

normalizeUTF8NFKD

Introduzido em: v21.11.0

Normaliza uma string UTF-8 de acordo com a forma de normalização NFKD.

Sintaxe

normalizeUTF8NFKD(str)

Argumentos

  • str — String de entrada codificada em UTF-8. String

Valor retornado

Retorna a forma normalizada em NFKD da string UTF-8. String

Exemplos

Exemplo de uso

SELECT
    'H₂O²' AS original,                           -- H + subscript 2 + O + superscript 2
    normalizeUTF8NFKD('H₂O²') AS nfkd_normalized  -- Converts to H 2 O 2
┌─original─┬─nfkd_normalized─┐
│ H₂O²     │ H2O2            │
└──────────┴─────────────────┘

punycodeDecode

Introduzido em: v24.1.0

Retorna o plaintext codificado em UTF-8 de uma string codificada em Punycode. Se nenhuma string codificada em Punycode válida for fornecida, uma exceção será lançada.

Sintaxe

punycodeDecode(s)

Argumentos

  • s — String codificada em Punycode. String

Valor retornado

Retorna o texto em claro do valor de entrada. String

Exemplos

Exemplo de uso

SELECT punycodeDecode('Mnchen-3ya')
┌─punycodeDecode('Mnchen-3ya')─┐
│ München                      │
└──────────────────────────────┘

punycodeEncode

Introduzido em: v24.1.0

Retorna a representação em Punycode de uma string. A string deve estar codificada em UTF8; caso contrário, o comportamento é indefinido.

Sintaxe

punycodeEncode(s)

Argumentos

  • s — Valor de entrada. String

Valor retornado

Retorna uma representação em Punycode do valor de entrada. String

Exemplos

Exemplo de uso

SELECT punycodeEncode('München')
┌─punycodeEncode('München')─┐
│ Mnchen-3ya                │
└───────────────────────────┘

regexpExtract

Introduzido em: v23.2.0

Extrai a primeira string de haystack que corresponde ao padrão da expressão regular e ao índice do grupo da regex.

Sintaxe

regexpExtract(haystack, pattern[, index])

Aliases: REGEXP_EXTRACT, REGEXP_SUBSTR

Argumentos

  • haystack — String na qual será feita a correspondência com o padrão regexp. String
  • pattern — String, expressão regexp. pattern pode conter vários grupos regexp; index indica qual grupo regex extrair. Um índice de 0 significa corresponder à expressão regular inteira. const String
  • index — Opcional. Um número inteiro não negativo que indica qual grupo regex extrair. O padrão é 1 se pattern contiver pelo menos um grupo de captura, e 0 (a correspondência inteira) se pattern não tiver grupo de captura. (U)Int*

Valor retornado

Retorna a correspondência como uma string String

Exemplos

Exemplo de uso

SELECT
    regexpExtract('100-200', '(\\d+)-(\\d+)', 1),
    regexpExtract('100-200', '(\\d+)-(\\d+)', 2),
    regexpExtract('100-200', '(\\d+)-(\\d+)', 0),
    regexpExtract('100-200', '(\\d+)-(\\d+)'),
    regexpExtract('100-200', '\\d+');
┌─regexpExtract('100-200', '(\\d+)-(\\d+)', 1)─┬─regexpExtract('100-200', '(\\d+)-(\\d+)', 2)─┬─regexpExtract('100-200', '(\\d+)-(\\d+)', 0)─┬─regexpExtract('100-200', '(\\d+)-(\\d+)')─┬─regexpExtract('100-200', '\\d+')─┐
│ 100                                          │ 200                                          │ 100-200                                      │ 100                                       │ 100                              │
└──────────────────────────────────────────────┴──────────────────────────────────────────────┴──────────────────────────────────────────────┴───────────────────────────────────────────┴──────────────────────────────────┘

regexpPosition

Introduzido em: v26.5.0

Retorna a posição em bytes (indexada em 1) da occurrence-ésima correspondência de pattern em haystack, iniciando a busca na posição de byte position.

Se return_option for 0 (padrão), retorna a posição do primeiro byte da correspondência. Se for 1, retorna a posição do primeiro byte após a correspondência.

Se subexpression for maior que 0, retorna a posição do grupo de captura correspondente em vez da correspondência completa.

Retorna 0 se nenhuma correspondência for encontrada ou se o grupo de captura solicitado não tiver participado da correspondência.

Fornecido para compatibilidade com o regexp_instr do PostgreSQL (também exposto com esse alias). Observe que as posições são baseadas em bytes, em linha com outras funções de regex do ClickHouse; o regexp_instr do PostgreSQL é baseado em caracteres.

Sintaxe

regexpPosition(haystack, pattern[, position[, occurrence[, return_option[, flags[, subexpression]]]]])

Aliases: regexpInstr, regexp_instr

Argumentos

  • haystack — String na qual pesquisar. String
  • pattern — Padrão da expressão regular. const String
  • position — Opcional. Posição em bytes, baseada em 1, para iniciar a busca. Padrão: 1. (U)Int*
  • occurrence — Opcional. Qual ocorrência retornar. Padrão: 1. (U)Int*
  • return_option — Opcional. 0 retorna a posição do início da correspondência; 1 retorna a posição logo após a correspondência. Padrão: 0. (U)Int*
  • flags — Opcional. Flags de regex. Suportadas: i (sem diferenciar maiúsculas de minúsculas), c (diferenciando maiúsculas de minúsculas), m/n (âncoras multilinha), s (o ponto corresponde a nova linha). Padrão: string vazia. const String
  • subexpression — Opcional. Índice do grupo de captura cuja posição deve ser retornada. 0 significa a correspondência inteira. Padrão: 0. (U)Int*

Valor retornado

Retorna a posição em bytes da correspondência ou 0, se não for encontrada. UInt64

Exemplos

Uso básico

SELECT
    regexpPosition('hello world', 'world'),
    regexpPosition('aXbXcXd', 'X', 1, 2),
    regexpPosition('aXbXcXd', 'X', 1, 2, 1),
    regexpPosition('Hello WORLD', 'world', 1, 1, 0, 'i'),
    regexpPosition('foo123bar456', '([a-z]+)([0-9]+)', 1, 2, 0, '', 2);
┌─regexpPosition('hello world', 'world')─┬─regexpPosition('aXbXcXd', 'X', 1, 2)─┬─regexpPosition('aXbXcXd', 'X', 1, 2, 1)─┬─regexpPosition('Hello WORLD', 'world', 1, 1, 0, 'i')─┬─regexpPosition('foo123bar456', '([a-z]+)([0-9]+)', 1, 2, 0, '', 2)─┐
│                                      7 │                                    4 │                                       5 │                                                    7 │                                                                 10 │
└────────────────────────────────────────┴──────────────────────────────────────┴─────────────────────────────────────────┴──────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────┘

removeDiacriticsUTF8

Introduzido em: v26.3.0

Remove marcas diacríticas (acentos) de uma string UTF-8 ao decompor caracteres via NFD, remover marcas de combinação (categoria Unicode Mn) e, em seguida, recompô-los via NFC.

Sintaxe

removeDiacriticsUTF8(str)

Aliases: removeAccentsUTF8

Argumentos

  • str — string de entrada codificada em UTF-8. String

Valor retornado

String em UTF-8 sem diacríticos. String

Exemplos

Remoção básica de acentos

SELECT removeDiacriticsUTF8('café résumé naïve')
┌─removeDiacriticsUTF8('café résumé naïve')─┐
│ cafe resume naive                         │
└───────────────────────────────────────────┘

repeat

Introduzido em: v20.1.0

Concatena uma string a ela mesma o número de vezes especificado.

Sintaxe

repeat(s, n)

Argumentos

  • s — A string a ser repetida. String
  • n — O número de vezes que a string será repetida. (U)Int*

Valor retornado

Uma string que contém s repetida n vezes. Se n for negativo, a função retorna uma string vazia. String

Exemplos

Exemplo de uso

SELECT repeat('abc', 10)
┌─repeat('abc', 10)──────────────┐
│ abcabcabcabcabcabcabcabcabcabc │
└────────────────────────────────┘

reverseUTF8

Introduzido em: v1.1.0

Inverte uma sequência de pontos de código Unicode em uma string. Pressupõe que a string contenha texto válido codificado em UTF-8. Se essa suposição for violada, não é lançada nenhuma exceção e o resultado é indefinido.

Sintaxe

reverseUTF8(s)

Argumentos

  • s — String que contém texto codificado em UTF-8 válido. String

Valor retornado

Retorna uma string com a sequência de pontos de código Unicode invertida. String

Exemplos

Exemplo de uso

SELECT reverseUTF8('ClickHouse')
esuoHkcilC

Introduzido em: v22.1.0

Retorna uma substring da string s, com o offset especificado, a partir da direita.

Sintaxe

right(s, offset)

Argumentos

  • s — A string da qual será extraída uma substring. String ou FixedString
  • offset — A quantidade de bytes do deslocamento. (U)Int*

Valor retornado

Retorna:

  • Para offset positivo, uma substring de s com offset bytes, a partir da direita da string.
  • Para offset negativo, uma substring de s com length(s) - |offset| bytes, a partir da direita da string.
  • Uma string vazia se length for 0. String

Exemplos

Deslocamento positivo

SELECT right('Hello', 3)
llo

Offset negativo

SELECT right('Hello', -3)
lo

rightPad

Introduzido em: v21.8.0

Preenche uma string à direita com espaços ou com uma string especificada (repetida várias vezes, se necessário) até que a string resultante atinja o length especificado.

Sintaxe

rightPad(string, length[, pad_string])

Aliases: rpad

Argumentos

  • string — String de entrada que deve ser preenchida. String
  • length — O comprimento da string resultante. Se o valor for menor que o comprimento da string de entrada, a string de entrada será truncada para length caracteres. (U)Int*
  • pad_string — Opcional. A string usada para preencher a string de entrada. Se não for especificada, a string de entrada será preenchida com espaços. String

Valor retornado

Retorna uma string preenchida à direita com o comprimento especificado. String

Exemplos

Exemplo de uso

SELECT rightPad('abc', 7, '*'), rightPad('abc', 7)
┌─rightPad('abc', 7, '*')─┬─rightPad('abc', 7)─┐
│ abc****                 │ abc                │
└─────────────────────────┴────────────────────┘

rightPadUTF8

Introduzido na versão: v21.8.0

Preenche a string à direita com espaços ou com uma string especificada (repetida várias vezes, se necessário) até que a string resultante atinja o comprimento informado. Diferentemente de rightPad, que mede o comprimento da string em bytes, aqui o comprimento da string é medido em pontos de código.

Sintaxe

rightPadUTF8(string, length[, pad_string])

Argumentos

  • string — String de entrada que deve ser preenchida. String
  • length — O comprimento da string resultante. Se o valor for menor que o comprimento da string de entrada, a string de entrada será truncada para length caracteres. (U)Int*
  • pad_string — Opcional. A string usada para preencher a string de entrada. Se não for especificada, a string de entrada será preenchida com espaços. String

Valor retornado

Retorna uma string preenchida à direita com o comprimento informado. String

Exemplos

Exemplo de uso

SELECT rightPadUTF8('абвг', 7, '*'), rightPadUTF8('абвг', 7)
┌─rightPadUTF8('абвг', 7, '*')─┬─rightPadUTF8('абвг', 7)─┐
│ абвг***                      │ абвг                    │
└──────────────────────────────┴─────────────────────────┘

rightUTF8

Introduzido na versão: v22.1.0

Retorna uma substring da string codificada em UTF-8 s, com um offset especificado a partir da direita.

Sintaxe

rightUTF8(s, offset)

Argumentos

  • s — A string codificada em UTF-8 da qual uma substring será calculada. String ou FixedString
  • offset — O número de bytes do deslocamento. (U)Int*

Valor retornado

Retorna:

  • Para offset positivo, uma substring de s com offset bytes, começando pela direita da string.
  • Para offset negativo, uma substring de s com length(s) - |offset| bytes, começando pela direita da string.
  • Uma string vazia se length for 0. String

Exemplos

Deslocamento positivo

SELECT rightUTF8('Привет', 4)
ивет

OFFSET negativo

SELECT rightUTF8('Привет', -4)
ет

soundex

Introduzido em: v23.4.0

Retorna o código Soundex de uma cadeia de caracteres.

Sintaxe

soundex(s)

Argumentos

  • s — Cadeia de caracteres de entrada. String

Valor retornado

Retorna o código Soundex da cadeia de caracteres de entrada. String

Exemplos

Exemplo de uso

SELECT soundex('aksel')
┌─soundex('aksel')─┐
│ A240             │
└──────────────────┘

space

Introduzido em: v23.5.0

Concatena um espaço ( ) consigo mesmo o número de vezes especificado.

Sintaxe

space(n)

Argumentos

  • n — O número de vezes que o espaço deve ser repetido. (U)Int*

Valor retornado

Retorna uma string contendo um espaço repetido n vezes. Se n <= 0, a função retorna uma string vazia. String

Exemplos

Exemplo de uso

SELECT space(3) AS res, length(res);
┌─res─┬─length(res)─┐
│     │           3 │
└─────┴─────────────┘

sparseGrams

Introduzido em: v25.5.0

Encontra todas as substrings de uma string com comprimento de pelo menos n, em que os hashes dos (n-1)-gramas nas extremidades da substring são estritamente maiores do que os de qualquer (n-1)-grama dentro da substring. Usa CRC32 como função de hash.

Sintaxe

sparseGrams(s[, min_ngram_length[, max_ngram_length[, min_cutoff_length]]])

Argumentos

  • s — Uma string de entrada. String
  • min_ngram_length — Opcional. O comprimento mínimo do n-grama extraído. O valor padrão e mínimo é 3. UInt*
  • max_ngram_length — Opcional. O comprimento máximo do n-grama extraído. O valor padrão é 100. Não deve ser menor que min_ngram_length. UInt*
  • min_cutoff_length — Opcional. Se especificado, apenas n-gramas com comprimento maior ou igual a min_cutoff_length são retornados. O valor padrão é o mesmo de min_ngram_length. Não deve ser menor que min_ngram_length nem maior que max_ngram_length. UInt*

Valor retornado

Retorna um array das substrings selecionadas. Array(String)

Exemplos

Exemplo de uso

SELECT sparseGrams('alice', 3)
┌─sparseGrams('alice', 3)────┐
│ ['ali','lic','ice','lice'] │
└────────────────────────────┘

sparseGramsHashes

Introduzido em: v25.5.0

Retorna os hashes de todas as substrings de uma determinada string com comprimento de pelo menos n, em que os hashes dos (n-1)-gramas nas bordas da substring são estritamente maiores do que os de qualquer (n-1)-grama dentro da substring. Usa CRC32 como função de hash.

Sintaxe

sparseGramsHashes(s[, min_ngram_length, max_ngram_length])

Argumentos

  • s — Uma string de entrada. String
  • min_ngram_length — Opcional. O comprimento mínimo do n-grama extraído. O valor padrão e mínimo é 3. UInt*
  • max_ngram_length — Opcional. O comprimento máximo do n-grama extraído. O valor padrão é 100. Não deve ser menor que min_ngram_length. UInt*
  • min_cutoff_length — Opcional. Se especificado, apenas n-gramas com comprimento maior ou igual a min_cutoff_length são retornados. O valor padrão é o mesmo de min_ngram_length. Não deve ser menor que min_ngram_length nem maior que max_ngram_length. UInt*

Valor retornado

Retorna um array de hashes CRC32 das substrings selecionadas. Array(UInt32)

Exemplos

Exemplo de uso

SELECT sparseGramsHashes('alice', 3)
┌─sparseGramsHashes('alice', 3)────────────────┐
│ [3851133533,3120039944,646693941,2577359366] │
└──────────────────────────────────────────────┘

sparseGramsHashesUTF8

Introduzido em: v25.5.0

Encontra os hashes de todas as substrings de uma determinada string UTF-8 com comprimento de pelo menos n, em que os hashes dos (n-1)-gramas nas bordas da substring são estritamente maiores do que os de qualquer (n-1)-grama no interior da substring. Espera uma string UTF-8 e lança uma exceção em caso de sequência UTF-8 inválida. Usa CRC32 como função de hash.

Sintaxe

sparseGramsHashesUTF8(s[, min_ngram_length, max_ngram_length])

Argumentos

  • s — Uma string de entrada. String
  • min_ngram_length — Opcional. O comprimento mínimo do n-grama extraído. O valor padrão e mínimo é 3. UInt*
  • max_ngram_length — Opcional. O comprimento máximo do n-grama extraído. O valor padrão é 100. Não deve ser menor que min_ngram_length. UInt*
  • min_cutoff_length — Opcional. Se especificado, retorna apenas n-gramas com comprimento maior ou igual a min_cutoff_length. O valor padrão é o mesmo de min_ngram_length. Não deve ser menor que min_ngram_length nem maior que max_ngram_length. UInt*

Valor retornado

Retorna um array com os hashes CRC32 das substrings UTF-8 selecionadas. Array(UInt32)

Exemplos

Exemplo de uso

SELECT sparseGramsHashesUTF8('алиса', 3)
┌─sparseGramsHashesUTF8('алиса', 3)───────────────────────┐
│ [1328958118,547287748,4155892324,2403052185,1673399070] │
└─────────────────────────────────────────────────────────┘

sparseGramsUTF8

Introduzido em: v25.5.0

Encontra todas as substrings de uma determinada string UTF-8 com comprimento de pelo menos n, em que os hashes dos (n-1)-gramas nas bordas da substring são estritamente maiores do que os de qualquer (n-1)-grama dentro dela. Aceita uma string UTF-8 e lança uma exceção em caso de sequência UTF-8 inválida. Usa CRC32 como função de hash.

Sintaxe

sparseGramsUTF8(s[, min_ngram_length[, max_ngram_length[, min_cutoff_length]]])

Argumentos

  • s — Uma string de entrada. String
  • min_ngram_length — Opcional. O comprimento mínimo do ngrama extraído. O valor padrão e mínimo é 3. UInt*
  • max_ngram_length — Opcional. O comprimento máximo do ngrama extraído. O valor padrão é 100. Não deve ser menor que min_ngram_length. UInt*
  • min_cutoff_length — Opcional. Se especificado, somente n-gramas com comprimento maior ou igual a min_cutoff_length são retornados. O valor padrão é o mesmo de min_ngram_length. Não deve ser menor que min_ngram_length nem maior que max_ngram_length. UInt*

Valor retornado

Retorna um array das substrings em UTF-8 selecionadas. Array(String)

Exemplos

Exemplo de uso

SELECT sparseGramsUTF8('алиса', 3)
┌─sparseGramsUTF8('алиса', 3)────────┐
│ ['али','лис','иса','лиса','алиса'] │
└────────────────────────────────────┘

startsWith

Introduzido em: v1.1.0

Verifica se uma string começa com a sequência de caracteres fornecida.

Sintaxe

startsWith(s, prefix)

Argumentos

  • s — String a ser verificada. String
  • prefix — Prefixo a ser verificado. String

Valor retornado

Retorna 1 se s começar com prefix; caso contrário, 0. UInt8

Exemplos

Exemplo de uso

SELECT startsWith('ClickHouse', 'Click');
┌─startsWith('ClickHouse', 'Click')─┐
│                                 1 │
└───────────────────────────────────┘

startsWithCaseInsensitive

Introduzido em: v25.10.0

Verifica se uma string começa com a string fornecida, sem distinção entre maiúsculas e minúsculas.

Sintaxe

startsWithCaseInsensitive(s, prefix)

Argumentos

  • s — String a ser verificada. String
  • prefix — prefixo sem distinção entre maiúsculas e minúsculas a ser verificado. String

Valor retornado

Retorna 1 se s começar com o prefix sem distinção entre maiúsculas e minúsculas; caso contrário, 0. UInt8

Exemplos

Exemplo de uso

SELECT startsWithCaseInsensitive('ClickHouse', 'CLICK');
┌─startsWithCaseInsensitive('ClickHouse', 'CLICK')─┐
│                                                1 │
└──────────────────────────────────────────────────┘

startsWithCaseInsensitiveUTF8

Introduzido em: v25.10.0

Verifica se uma string começa com o prefixo fornecido sem diferenciar maiúsculas de minúsculas. Pressupõe que a string contenha texto válido codificado em UTF-8. Se essa suposição for violada, nenhuma exceção é lançada e o resultado é indefinido.

Sintaxe

startsWithCaseInsensitiveUTF8(s, prefix)

Argumentos

  • s — String a ser verificada. String
  • prefix — Prefixo sem distinção entre maiúsculas e minúsculas a ser verificado. String

Valor retornado

Retorna 1 se s começar com o prefix sem distinção entre maiúsculas e minúsculas; caso contrário, 0. UInt8

Exemplos

Exemplo de uso

SELECT startsWithCaseInsensitiveUTF8('приставка', 'при')
┌─startsWithCaseInsensitiveUTF8('приставка', 'при')─┐
│                                                 1 │
└───────────────────────────────────────────────────┘

startsWithUTF8

Introduzido em: v23.8.0

Verifica se uma string começa com o prefixo informado. Pressupõe que a string contenha texto válido codificado em UTF-8. Se essa suposição for violada, nenhuma exceção é lançada e o resultado é indefinido.

Sintaxe

startsWithUTF8(s, prefix)

Argumentos

  • s — String a ser verificada. String
  • prefix — Prefixo a ser verificado. String

Valor retornado

Retorna 1 se s começar com prefix; caso contrário, 0. UInt8

Exemplos

Exemplo de uso

SELECT startsWithUTF8('приставка', 'при')
┌─startsWithUTF8('приставка', 'при')─┐
│                                  1 │
└────────────────────────────────────┘

stringBytesEntropy

Introduzido em: v25.6.0

Calcula a entropia de Shannon da distribuição de bytes em uma string.

Sintaxe

stringBytesEntropy(s)

Argumentos

  • s — A string a ser analisada. String

Valor retornado

Retorna a entropia de Shannon da distribuição dos bytes na string. Float64

Exemplos

Exemplo de uso

SELECT stringBytesEntropy('Hello, world!')
┌─stringBytesEntropy('Hello, world!')─┐
│                   3.180832987205441 │
└─────────────────────────────────────┘

stringBytesUniq

Introduzido em: v25.6.0

Conta o número de bytes distintos em uma string.

Sintaxe

stringBytesUniq(s)

Argumentos

  • s — A string a ser analisada. String

Valor retornado

Retorna o número de bytes distintos na string. UInt16

Exemplos

Exemplo de uso

SELECT stringBytesUniq('Hello')
┌─stringBytesUniq('Hello')─┐
│                        4 │
└──────────────────────────┘

stringJaccardIndex

Introduzido em: v23.11.0

Calcula o índice de similaridade de Jaccard entre duas sequências de bytes.

Sintaxe

stringJaccardIndex(s1, s2)

Argumentos

  • s1 — Primeira string de entrada. String
  • s2 — Segunda string de entrada. String

Valor retornado

Retorna o índice de similaridade de Jaccard entre as duas strings. Float64

Exemplos

Exemplo de uso

SELECT stringJaccardIndex('clickhouse', 'mouse')
┌─stringJaccardIndex('clickhouse', 'mouse')─┐
│                                       0.4 │
└───────────────────────────────────────────┘

stringJaccardIndexUTF8

Introduzido em: v23.11.0

Semelhante a stringJaccardIndex, mas para strings codificadas em UTF-8.

Sintaxe

stringJaccardIndexUTF8(s1, s2)

Argumentos

  • s1 — Primeira string UTF-8 de entrada. String
  • s2 — Segunda string UTF-8 de entrada. String

Valor retornado

Retorna o índice de similaridade de Jaccard entre as duas strings UTF-8. Float64

Exemplos

Exemplo de uso

SELECT stringJaccardIndexUTF8('我爱你', '我也爱你') AS jaccard_index
┌─jaccard_index─┐
│          0.75 │
└───────────────┘

substring

Introduzido em: v1.1.0

Retorna a substring de uma string s que começa no índice de byte offset especificado. A contagem de bytes começa em 1, com a seguinte lógica:

  • Se offset for 0, retorna uma string vazia.
  • Se offset for negativo, a substring começa a offset caracteres do fim da string, em vez do início.

Um argumento opcional, length, especifica o número máximo de bytes que a substring retornada pode ter.

Veja também a função digits, que realiza a operação análoga nos dígitos de um número.

Sintaxe

substring(s, offset[, length])

Aliases: byteSlice, mid, substr

Argumentos

  • s — A string a partir da qual a substring será calculada. String ou FixedString ou Enum
  • offset — A posição inicial da substring em s. (U)Int*
  • length — Opcional. O comprimento máximo da substring. (U)Int*

Valor retornado

Retorna uma substring de s com length bytes, começando no índice offset. String

Exemplos

Uso básico

SELECT 'database' AS db, substr(db, 5), substr(db, 5, 1)
┌─db───────┬─substr(db, 5)─┬─substr(db, 5, 1)─┐
│ database │ base          │ b                │
└──────────┴───────────────┴──────────────────┘

substringIndex

Introduzido em: v23.7.0

Retorna a substring de s anterior a count ocorrências do delimitador delim, como no Spark ou no MySQL.

Sintaxe

substringIndex(s, delim, count)

Aliases: SUBSTRING_INDEX

Argumentos

  • s — A string da qual a substring será extraída. String
  • delim — O caractere usado para separar. String
  • count — O número de ocorrências do delimitador a contar antes de extrair a substring. Se count for positivo, tudo à esquerda do delimitador final (contando da esquerda) será retornado. Se count for negativo, tudo à direita do delimitador final (contando da direita) será retornado. UInt ou Int

Valor retornado

Retorna uma substring de s antes de count ocorrências de delim. String

Exemplos

Exemplo de uso

SELECT substringIndex('www.clickhouse.com', '.', 2)
┌─substringIndex('www.clickhouse.com', '.', 2)─┐
│ www.clickhouse                               │
└──────────────────────────────────────────────┘

substringIndexUTF8

Introduzido em: v23.7.0

Retorna a substring de s que precede count ocorrências do delimitador delim, especificamente para pontos de código Unicode. Pressupõe que a string contenha texto válido codificado em UTF-8. Se essa suposição for violada, não é lançada nenhuma exceção e o resultado é indefinido.

Sintaxe

substringIndexUTF8(s, delim, count)

Argumentos

  • s — A string da qual a substring será extraída. String
  • delim — O caractere delimitador. String
  • count — O número de ocorrências do delimitador a serem contadas antes de extrair a substring. Se count for positivo, tudo à esquerda do delimitador final (contando da esquerda) será retornado. Se count for negativo, tudo à direita do delimitador final (contando da direita) será retornado. UInt ou Int

Valor retornado

Retorna uma substring de s antes de count ocorrências de delim. String

Exemplos

Exemplo em UTF8

SELECT substringIndexUTF8('www.straßen-in-europa.de', '.', 2)
www.straßen-in-europa

substringUTF8

Introduzido em: v1.1.0

Retorna a substring de uma string s que começa no índice de ponto de código offset especificado. A contagem de pontos de código começa em 1, de acordo com a seguinte lógica:

  • Se offset for 0, será retornada uma string vazia.
  • Se offset for negativo, a substring começa a offset pontos de código do final da string, em vez de começar no início.

Um argumento opcional, length, especifica o número máximo de pontos de código que a substring retornada pode ter.

Sintaxe

substringUTF8(s, offset[, length])

Argumentos

  • s — A string da qual extrair uma substring. String ou FixedString ou Enum
  • offset — A posição inicial da substring em s. Int ou UInt
  • length — O comprimento máximo da substring. Opcional. Int ou UInt

Valor retornado

Retorna uma substring de s com length pontos de código, começando no índice de ponto de código offset. String

Exemplos

Exemplo de uso

SELECT 'Täglich grüßt das Murmeltier.' AS str, substringUTF8(str, 9), substringUTF8(str, 9, 5)
Täglich grüßt das Murmeltier.	grüßt das Murmeltier.	grüßt

toValidUTF8

Introduzido em: v20.1.0

Converte uma string para uma codificação UTF-8 válida, substituindo quaisquer caracteres UTF-8 inválidos pelo caractere de substituição (U+FFFD). Quando vários caracteres inválidos consecutivos são encontrados, eles são condensados em um único caractere de substituição.

Sintaxe

toValidUTF8(s)

Argumentos

  • s — Qualquer conjunto de bytes representado como um objeto do tipo de dado String. String

Valor retornado

Retorna uma string UTF-8 válida. String

Exemplos

Exemplo de uso

SELECT toValidUTF8('\\x61\\xF0\\x80\\x80\\x80b')
\\x61\\xF0\\x80\\x80\\x80b

trimBoth

Introduzido em: v20.1.0

Remove os caracteres especificados do início e do fim de uma string. Por padrão, remove caracteres ASCII de espaço em branco comuns.

Sintaxe

trimBoth(s[, trim_characters])

Aliases: trim

Argumentos

  • s — String a ser processada. String
  • trim_characters — Opcional. Caracteres a serem removidos das extremidades. Se não for especificado, caracteres comuns de espaço em branco serão removidos. String

Valor retornado

Retorna a string com os caracteres especificados removidos de ambas as extremidades. String

Exemplos

Exemplo de uso

SELECT trimBoth('$$ClickHouse$$', '$')
┌─trimBoth('$$ClickHouse$$', '$')─┐
│ ClickHouse                      │
└─────────────────────────────────┘

trimLeft

Introduzido em: v20.1.0

Remove os caracteres especificados do início de uma string. Por padrão, remove caracteres de espaço em branco (ASCII) comuns.

Sintaxe

trimLeft(input[, trim_characters])

Aliases: ltrim

Argumentos

  • input — String da qual os caracteres serão removidos. String
  • trim_characters — Opcional. Caracteres a serem removidos. Se não for especificado, caracteres de espaço em branco comuns serão removidos. String

Valor retornado

Retorna a string com os caracteres especificados removidos à esquerda. String

Exemplos

Exemplo de uso

SELECT trimLeft('ClickHouse', 'Click');
┌─trimLeft('ClickHouse', 'Click')─┐
│ House                           │
└─────────────────────────────────┘

trimRight

Introduzido na versão: v20.1.0

Remove os caracteres especificados do fim de uma string. Por padrão, remove caracteres de espaço em branco (ASCII) comuns.

Sintaxe

trimRight(s[, trim_characters])

Aliases: rtrim

Argumentos

  • s — String da qual remover caracteres. String
  • trim_characters — Caracteres opcionais a serem removidos. Se não forem especificados, caracteres de espaço em branco comuns serão removidos. String

Valor retornado

Retorna a string com os caracteres especificados removidos à direita. String

Exemplos

Exemplo de uso

SELECT trimRight('ClickHouse','House');
┌─trimRight('ClickHouse', 'House')─┐
│ Click                            │
└──────────────────────────────────┘

tryBase32Decode

Introduzido em: v25.6.0

Aceita uma string e a decodifica usando a codificação Base32.

Sintaxe

tryBase32Decode(encoded)

Argumentos

  • encoded — coluna String ou constante a ser decodificada. Se a string não estiver codificada em Base32 válida, retorna uma string vazia em caso de erro. String

Valor retornado

Retorna uma string contendo o valor decodificado do argumento. String

Exemplos

Exemplo de uso

SELECT tryBase32Decode('IVXGG33EMVSA====');
┌─tryBase32Decode('IVXGG33EMVSA====')─┐
│ Encoded                             │
└─────────────────────────────────────┘

tryBase58Decode

Introduzido em: v22.10.0

Semelhante a base58Decode, mas retorna uma string vazia em caso de erro.

Sintaxe

tryBase58Decode(encoded[, expected_size])

Argumentos

  • encoded — coluna String ou constante. Se a string não for codificada em Base58 válida, retorna uma string vazia em caso de erro. String
  • expected_size — Opcional. Tamanho esperado após a decodificação, em bytes. Quando for 32 ou 64, será usado um decodificador otimizado; para outros valores, será usado o decodificador genérico. UInt8, UInt16, UInt32 ou UInt64

Valor retornado

Retorna uma string contendo o valor decodificado do argumento. String

Exemplos

Exemplo de uso

SELECT tryBase58Decode('3dc8KtHrwM') AS res, tryBase58Decode('invalid') AS res_invalid;
┌─res─────┬─res_invalid─┐
│ Encoded │             │
└─────────┴─────────────┘

tryBase64Decode

Introduzido em: v18.16.0

Assim como base64Decode, mas retorna uma string vazia em caso de erro.

Sintaxe

tryBase64Decode(encoded)

Argumentos

  • encoded — coluna String ou constante a ser decodificada. Se a string não for uma Base64 válida, retorna uma string vazia em caso de erro. String

Valor retornado

Retorna uma string contendo o valor decodificado do argumento. String

Exemplos

Exemplo de uso

SELECT tryBase64Decode('Y2xpY2tob3VzZQ==')
┌─tryBase64Decode('Y2xpY2tob3VzZQ==')─┐
│ clickhouse                          │
└─────────────────────────────────────┘

tryBase64URLDecode

Introduzido na versão: v18.16.0

Assim como base64URLDecode, mas retorna uma string vazia em caso de erro.

Sintaxe

tryBase64URLDecode(encoded)

Argumentos

  • encoded — coluna String ou constante a ser decodificada. Se a string não for uma string codificada em Base64 válida, retorna uma string vazia em caso de erro. String

Valor retornado

Retorna uma string que contém o valor decodificado do argumento. String

Exemplos

Exemplo de uso

SELECT tryBase64URLDecode('aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ')
┌─tryBase64URLDecode('aHR0cHM6Ly9jbGlja2hvdXNlLmNvbQ')─┐
│ https://clickhouse.com                               │
└──────────────────────────────────────────────────────┘

tryIdnaEncode

Introduzido na versão: v24.1.0

Retorna a representação em Unicode (UTF-8) (algoritmo ToUnicode) de um nome de domínio de acordo com o mecanismo Internationalized Domain Names in Applications (IDNA). Em caso de erro, retorna uma string vazia em vez de gerar uma exceção.

Sintaxe

tryIdnaEncode(s)

Argumentos

  • s — String de entrada. String

Valor retornado

Retorna uma representação ASCII da string de entrada de acordo com o mecanismo IDNA do valor de entrada, ou uma string vazia se a entrada for inválida. String

Exemplos

Exemplo de uso

SELECT tryIdnaEncode('straße.münchen.de')
┌─tryIdnaEncode('straße.münchen.de')─┐
│ xn--strae-oqa.xn--mnchen-3ya.de    │
└────────────────────────────────────┘

tryPunycodeDecode

Introduzido em: v24.1.0

Como punycodeDecode, mas retorna uma string vazia se não for fornecida uma string codificada em Punycode válida.

Sintaxe

tryPunycodeDecode(s)

Argumentos

  • s — String codificada em Punycode. String

Valor retornado

Retorna o valor de entrada em texto simples ou uma string vazia se a entrada for inválida. String

Exemplos

Exemplo de uso

SELECT tryPunycodeDecode('Mnchen-3ya')
┌─tryPunycodeDecode('Mnchen-3ya')─┐
│ München                         │
└─────────────────────────────────┘

upper

Introduzido na versão: v1.1.0

Converte os caracteres latinos ASCII de uma string em maiúsculas.

Sintaxe

upper(s)

Aliases: ucase

Argumentos

  • s — A string a ser convertida para letras maiúsculas. String

Valor retornado

Retorna s em letras maiúsculas. String

Exemplos

Exemplo de uso

SELECT upper('clickhouse')
┌─upper('clickhouse')─┐
│ CLICKHOUSE          │
└─────────────────────┘

upperUTF8

Introduzido em: v1.1.0

Converte uma string em maiúsculas, assumindo que a string contém texto válido codificado em UTF-8. Se essa suposição não for atendida, nenhuma exceção será lançada e o resultado será indefinido.

Sintaxe

upperUTF8(s)

Argumentos

  • s — Um valor do tipo String. String

Valor retornado

Um valor do tipo de dados String. String

Exemplos

Exemplo de uso

SELECT upperUTF8('München') AS Upperutf8
┌─Upperutf8─┐
│ MÜNCHEN   │
└───────────┘
Navigation