Pular para o conteúdo principal
Todas as funções nesta seção fazem buscas com diferenciação entre maiúsculas e minúsculas por padrão. A busca sem diferenciar maiúsculas de minúsculas geralmente é oferecida por variantes separadas da função.
A busca sem diferenciar maiúsculas de minúsculas segue as regras de conversão entre minúsculas e maiúsculas do idioma inglês. Por exemplo, o i maiúsculo em inglês é I, enquanto em turco é İ — os resultados para idiomas diferentes do inglês podem ser inesperados.
As funções nesta seção também pressupõem que a string pesquisada (chamada nesta seção de haystack) e a string de busca (chamada nesta seção de needle) sejam textos codificados em byte único. Se essa suposição for violada, nenhuma exceção é gerada e os resultados são indefinidos. A busca com strings codificadas em UTF-8 geralmente é oferecida por variantes separadas da função. Da mesma forma, se uma variante de função UTF-8 for usada e as strings de entrada não forem texto codificado em UTF-8, nenhuma exceção é gerada e os resultados são indefinidos. Observe que nenhuma normalização Unicode automática é realizada; no entanto, você pode usar as funções normalizeUTF8*() para isso. Funções gerais de strings e funções de substituição em strings são descritas separadamente.
A documentação abaixo é gerada a partir da tabela de sistema system.functions.

countMatches

Introduzido em: v21.1.0 Retorna o número de correspondências de uma expressão regular em uma string.
Comportamento dependente da versãoO comportamento desta função depende da versão do ClickHouse:
  • em versões < v25.6, a função para de contar na primeira correspondência vazia, mesmo que o padrão a aceite.
  • em versões >= 25.6, a função continua a execução quando ocorre uma correspondência vazia. O comportamento legado pode ser restaurado usando a configuração count_matches_stop_at_empty_match = true;
Sintaxe
Argumentos
  • haystack — A string na qual pesquisar. String
  • pattern — Padrão de expressão regular. String
Valor retornado Retorna o número de correspondências encontradas. UInt64 Exemplos Contar sequências de dígitos
Query
Response

countMatchesCaseInsensitive

Introduzido em: v21.1.0 Semelhante a countMatches, mas faz correspondência sem diferenciar maiúsculas de minúsculas. Sintaxe
Argumentos
  • haystack — A string na qual pesquisar. String
  • pattern — Padrão de expressão regular. const String
Valor retornado Retorna o número de correspondências encontradas. UInt64 Exemplos Contagem sem diferenciar maiúsculas de minúsculas
Query
Response

countSubstrings

Introduzido em: v21.1.0 Retorna quantas vezes a substring needle ocorre na string haystack. Sintaxe
Argumentos
  • haystack — String em que a busca é realizada. String ou Enum. - needle — Substring a ser pesquisada. String. - start_pos — Posição (baseada em 1) em haystack na qual a busca se inicia. UInt. Opcional.
Valor retornado O número de ocorrências. UInt64 Exemplos Exemplo de uso
Query
Response
Com o argumento start_pos
Query
Response

countSubstringsCaseInsensitive

Introduzido em: v21.1.0 Semelhante a countSubstrings, mas conta sem diferenciar maiúsculas de minúsculas. Sintaxe
Argumentos
  • haystack — String em que a busca é realizada. String ou Enum
  • needle — Substring a ser buscada. String
  • start_pos — Opcional. Posição (baseada em 1) em haystack na qual a busca começa. UInt*
Valor retornado Retorna o número de ocorrências da substring em haystack. UInt64 Exemplos Exemplo de uso
Query
Response
Com o argumento start_pos
Query
Response

countSubstringsCaseInsensitiveUTF8

Introduzido em: v21.1.0 Como countSubstrings, mas conta sem diferenciar maiúsculas de minúsculas e pressupõe que o haystack seja uma string UTF-8. Sintaxe
Argumentos
  • haystack — String UTF-8 na qual a busca é realizada. String ou Enum
  • needle — Substring a ser pesquisada. String
  • start_pos — Opcional. Posição (começando em 1) em haystack na qual a busca se inicia. UInt*
Valor retornado Retorna o número de ocorrências de needle em haystack. UInt64 Exemplos Exemplo de uso
Query
Response
Com o argumento start_pos
Query
Response

extract

Introduzido em: v1.1.0 Extrai a primeira correspondência de uma expressão regular em uma string. Se ‘haystack’ não corresponder a ‘pattern’, uma string vazia será retornada. Esta função usa a biblioteca de expressões regulares RE2. Consulte re2 para conhecer a sintaxe compatível. Se a expressão regular tiver grupos de captura (subpadrões), a função faz a correspondência da string de entrada com o primeiro grupo de captura. Sintaxe
Argumentos
  • haystack — String de onde extrair. String
  • pattern — Expressão regular, normalmente contendo um grupo de captura. const String
Valor retornado Retorna o fragmento extraído como string. String Exemplos Extrair domínio de um e-mail
Query
Response
Sem correspondência, retorna string vazia
Query
Response

extractAll

Introduzido em: v1.1.0 Semelhante a extract, mas retorna um array com todas as correspondências de uma expressão regular em uma string. Se ‘haystack’ não corresponder à regex ‘pattern’, será retornado um array vazio. Se a expressão regular tiver grupos de captura (subpadrões), a função faz a correspondência da string de entrada com o primeiro grupo de captura. Sintaxe
Argumentos
  • haystack — String da qual os fragmentos são extraídos. String
  • pattern — Expressão regular, opcionalmente contendo grupos de captura. const String
Valor retornado Retorna um array com os fragmentos extraídos. Array(String) Exemplos Extrair todos os números
Query
Response
Extrair usando um grupo de captura
Query
Response

extractAllGroupsHorizontal

Introduzido em: v20.5.0 Encontra todos os grupos em uma string usando a expressão regular fornecida e retorna um array de arrays, em que cada array contém todas as capturas do mesmo grupo de captura, organizadas pelo número do grupo. Sintaxe
Argumentos Valor retornado Retorna um array de arrays, em que cada array interno contém todas as capturas de um grupo de captura em todas as correspondências. O primeiro array interno contém todas as capturas do grupo 1, o segundo do grupo 2, e assim por diante. Se nenhuma correspondência for encontrada, retorna um array vazio. Array(Array(String)) Exemplos Exemplo de uso
Query
Response

extractGroups

Introduzido em: v20.5.0 Extrai os grupos de captura da primeira substring correspondente a uma expressão regular. Para extrair grupos de todas as correspondências, use extractAllGroupsHorizontal ou extractAllGroupsVertical. Sintaxe
Argumentos Valor retornado Se a expressão regular encontrar correspondência, retorna um array contendo os grupos capturados (1 a N, em que N é o número de grupos de captura em regexp) da primeira correspondência. Se não houver correspondência, retorna um array vazio. Array(String) Exemplos Exemplo de uso
Query
Response

hasAllTokens

Introduzido em: v25.10.0 Semelhante a hasAnyTokens, mas retorna 1 se todos os tokens na string ou array needle corresponderem à string input, e 0 caso contrário. Se input for uma coluna, retorna todas as linhas que satisfazem essa condição.
A coluna input deve ter um índice de texto definido para desempenho ideal. Se nenhum índice de texto estiver definido, a função fará uma varredura exaustiva da coluna, o que é várias ordens de magnitude mais lento do que uma consulta por índice.
Antes de realizar a busca, a função tokeniza
  • o argumento input (sempre), e
  • o argumento needle (se fornecido como String) usa o tokenizador especificado para o índice de texto. Se a coluna não tiver nenhum índice de texto definido, o tokenizador splitByNonAlpha será usado. Se o argumento needle for do tipo Array(String), cada elemento do array será tratado como um token — não haverá tokenização adicional.
Tokens duplicados são ignorados. Por exemplo, needles = [‘ClickHouse’, ‘ClickHouse’] é considerado igual a [‘ClickHouse’].
Quando um índice de texto define um pré-processador (por exemplo, lowerUTF8), hasAllTokens o aplica a input e, quando needles é uma String, a needles antes da tokenização. Quando needles é um Array(String), seus elementos são passados como estão, e o pré-processador não é aplicado a eles. O pré-processador é aplicado apenas no caminho do índice de texto, portanto os resultados podem diferir entre consultas que usam o índice de texto e consultas que não o usam (por exemplo, SETTINGS use_skip_indexes = 0). Essa inconsistência é tolerada para melhorar a usabilidade da busca de texto completo.
Sintaxe
Aliases: hasAllToken Argumentos Valor retornado Retorna 1 se todas as needles corresponderem; 0 caso contrário. UInt8 Exemplos Uso básico com uma needle do tipo String
Query
Response
Especifique os needles a serem pesquisados exatamente como estão (sem tokenização) em um array
Query
Response
Gere agulhas usando a função tokens
Query
Response
Use um tokenizador personalizado via o 3º argumento
Query
Response
Exemplos de uso para colunas array e map
Query
Response
Exemplo com uma coluna do tipo array
Query
Response
Exemplo com mapKeys
Query
Response
Exemplo com mapValues
Query
Response

hasAnyTokens

Introduzido em: v25.10.0 Retorna 1 se pelo menos um token da string ou array needle corresponder à string input, e 0 caso contrário. Se input for uma coluna, retorna todas as linhas que satisfazem essa condição.
A coluna input deve ter um índice de texto definido para um desempenho ideal. Se nenhum índice de texto estiver definido, a função realiza uma varredura exaustiva da coluna, que é várias ordens de magnitude mais lenta que uma busca no índice.
Antes de realizar a busca, a função tokeniza
  • o argumento input (sempre), e
  • o argumento needle (se fornecido como String) usando o tokenizador especificado para o índice de texto. Se a coluna não tiver um índice de texto definido, o tokenizador splitByNonAlpha será usado. Se o argumento needle for do tipo Array(String), cada elemento do array será tratado como um token — não haverá tokenização adicional.
Tokens duplicados são ignorados. Por exemplo, [‘ClickHouse’, ‘ClickHouse’] é tratado da mesma maneira que [‘ClickHouse’].
Quando um índice de texto define um pré-processador (por exemplo, lowerUTF8), hasAnyTokens o aplica a input e, quando needles é uma String, a needles antes da tokenização. Quando needles é um Array(String), seus elementos são usados como estão, e o pré-processador não é aplicado a eles. O pré-processador é aplicado apenas no caminho do índice de texto, portanto os resultados podem diferir entre consultas que usam o índice de texto e consultas que não o usam (por exemplo, SETTINGS use_skip_indexes = 0). Essa inconsistência é tolerada para melhorar a usabilidade da busca de texto completo.
Sintaxe
Aliases: hasAnyToken Argumentos Valor retornado Retorna 1 se houver pelo menos uma correspondência. Caso contrário, 0. UInt8 Exemplos Uso básico com uma substring
Query
Response
Especifique os needles a serem pesquisados exatamente como estão (sem tokenização) em um array
Query
Response
Gere agulhas usando a função tokens
Query
Response
Exemplos de uso para colunas array e map
Query
Response
Exemplo com uma coluna de array
Query
Response
Exemplo com mapKeys
Query
Response
Exemplo com mapValues
Query
Response

hasPhrase

Introduzido em: v26.4.0 Verifica se o input contém todos os tokens da phrase em ordem consecutiva.
A coluna input deve ter um índice de texto definido para desempenho ideal. Se nenhum índice de texto for definido, a função executa uma varredura exaustiva da coluna, que é várias ordens de magnitude mais lenta do que uma consulta ao índice.
Antes da pesquisa, a função tokeniza os argumentos input e phrase usando o tokenizador especificado para o índice de texto. Se a coluna não tiver nenhum índice de texto definido, o tokenizador splitByNonAlpha será usado — a menos que um tokenizador seja fornecido como terceiro argumento opcional. O argumento tokenizer deve ser um de splitByNonAlpha, splitByString, ngrams ou asciiCJK.
Quando um índice de texto define um pré-processador (por exemplo, lowerUTF8), hasPhrase o aplica tanto a input quanto a phrase antes da tokenização. O pré-processador é aplicado apenas no caminho do índice de texto, portanto os resultados podem diferir entre consultas que usam o índice de texto e consultas que não o usam (por exemplo, SETTINGS use_skip_indexes = 0). Essa inconsistência é tolerada para melhorar a usabilidade da busca de texto completo.
Diferentemente de hasToken, hasAnyTokens e hasAllTokens, hasPhrase exige que os tokens apareçam na mesma ordem e sem nenhum token entre eles. Por exemplo, hasPhrase('the quick brown fox', 'quick fox') retorna 0 porque “brown” aparece entre “quick” e “fox”. Sintaxe
Aliases: matchPhrase Argumentos Valor retornado Retorna 1 se a frase for encontrada como uma sequência contínua de tokens; caso contrário, retorna 0. UInt8 Exemplos Correspondência por frase
Query
Response
Tokens não consecutivos
Query
Response

hasSubsequence

Introduzido em: v23.7.0 Verifica se uma needle é uma subsequência de uma haystack. Uma subsequência de uma string é uma sequência que pode ser derivada de outra string pela remoção de alguns caracteres, ou de nenhum, sem alterar a ordem dos caracteres restantes. Sintaxe
Argumentos
  • haystack — String em que a subsequência será pesquisada. String
  • needle — Subsequência a ser pesquisada. String
Valor retornado Retorna 1 se needle for uma subsequência de haystack; caso contrário, retorna 0. UInt8 Exemplos Verificação básica de subsequência
Query
Response
Nenhuma subsequência encontrada
Query
Response

hasSubsequenceCaseInsensitive

Introduzido em: v23.7.0 Como hasSubsequence, mas faz a busca sem diferenciar maiúsculas de minúsculas. Sintaxe
Argumentos
  • haystack — String em que a busca é realizada. String
  • needle — Subsequência a ser procurada. String
Valor retornado Retorna 1 se needle for uma subsequência de haystack e 0 caso contrário. UInt8 Exemplos Exemplo de uso
Query
Response

hasSubsequenceCaseInsensitiveUTF8

Introduzido em: v23.7.0 Como hasSubsequenceUTF8, mas faz a busca sem diferenciar maiúsculas de minúsculas. Sintaxe
Argumentos
  • haystack — String codificada em UTF-8 na qual a busca é realizada. String
  • needle — Subsequência codificada em UTF-8 a ser buscada. String
Valor retornado Retorna 1 se needle for uma subsequência de haystack, 0 caso contrário. UInt8 Exemplos Exemplo de uso
Query
Response

hasSubsequenceUTF8

Introduzido em: v23.7.0 Como hasSubsequence, mas considera que haystack e needle são strings codificadas em UTF-8. Sintaxe
Argumentos
  • haystack — A string em que a busca é feita. String
  • needle — A subsequência a ser procurada. String
Valor retornado Retorna 1 se needle for uma subsequência de haystack; caso contrário, 0. UInt8 Exemplos Exemplo de uso
Query
Response
Subsequência não correspondente
Query
Response

hasToken

Introduzido em: v20.1.0 Verifica se o token informado está presente no haystack. Usa splitByNonAlpha como tokenizador, ou seja, um token é definido como a maior subsequência possível de caracteres consecutivos [0-9A-Za-z_] (números, caracteres ASCII e underscore). Sintaxe
Argumentos
  • haystack — String na qual será feita a busca. String
  • token — Token a ser procurado. const String
Valor retornado Retorna 1 se o token for encontrado; caso contrário, 0. UInt8 Exemplos Busca por token
Query
Response

hasTokenCaseInsensitive

Introduzido em: v20.1.0 Realiza uma busca sem diferenciar maiúsculas de minúsculas por needle em haystack usando o índice tokenbf_v1. Sintaxe
Argumentos
  • Nenhum.
Valor retornado Exemplos

hasTokenCaseInsensitiveOrNull

Introduzido em: v23.1.0 Realiza uma busca por needle em haystack sem diferenciar maiúsculas de minúsculas, usando o índice tokenbf_v1. Retorna NULL se needle estiver malformado. Sintaxe
Argumentos
  • Nenhum.
Valor retornado Exemplos

hasTokenOrNull

Introduzido em: v20.1.0 Semelhante a hasToken, mas retorna NULL se o token estiver malformado. Sintaxe
Argumentos
  • haystack — String na qual será feita a busca. Deve ser constante. String
  • token — Token a ser buscado. const String
Valor retornado Retorna 1 se o token for encontrado, 0 caso contrário, NULL se o token estiver malformado. Nullable(UInt8) Exemplos Exemplo de uso
Query
Response

highlight

Introduzido em: v26.4.0 Destaca ocorrências de termos de busca em uma string, envolvendo-as com tags HTML. A função realiza correspondência ASCII sem diferenciar maiúsculas de minúsculas. Se vários termos de busca se sobrepuserem ou estiverem adjacentes no texto, as regiões correspondentes serão mescladas em um único trecho destacado. Sintaxe
Argumentos
  • haystack — O texto no qual pesquisar. String ou FixedString
  • needles — Um array de termos de pesquisa a serem destacados. const Array(String)
  • open_tag — A tag de abertura a ser inserida antes de cada ocorrência. Padrão: <em>. const String
  • close_tag — A tag de fechamento a ser inserida após cada ocorrência. Padrão: </em>. const String
Valor retornado Retorna o texto de entrada com os termos encontrados delimitados pelas tags especificadas. String Exemplos Destaque básico
Query
Response
Tags personalizadas
Query
Response

ilike

Introduzido em: v20.6.0 Como like, mas faz a busca sem diferenciar maiúsculas de minúsculas. Suporta a cláusula opcional ESCAPE (consulte like). Sintaxe
Argumentos
  • haystack — String em que a busca é realizada. String ou FixedString
  • pattern — padrão LIKE usado para correspondência. String
  • escape_character — String opcional de um único caractere usada como caractere de escape em vez de \. Padrão: \. String
Valor retornado Retorna 1 se a string corresponder ao padrão LIKE (sem diferenciar maiúsculas de minúsculas); caso contrário, 0. UInt8 Exemplos Exemplo de uso
Query
Response

like

Introduzido em: v1.1.0 Retorna se a string haystack corresponde à expressão LIKE pattern. Uma expressão LIKE pode conter caracteres normais e os seguintes metassímbolos:
  • % indica uma quantidade arbitrária de caracteres arbitrários (incluindo zero caracteres).
  • _ indica um único caractere arbitrário.
  • \ é usado para escapar os literais %, _ e \.
A correspondência é baseada em UTF-8; por exemplo, _ corresponde ao ponto de código Unicode ¥, que em UTF-8 é representado por dois bytes. Se o haystack ou a expressão LIKE não forem UTF-8 válidos, o comportamento será indefinido. Nenhuma normalização Unicode automática é realizada; você pode usar as funções normalizeUTF8* para isso. Para corresponder a %, _ e \ literais (que são metacaracteres de LIKE), prefixe-os com uma barra invertida: \%, \_ e \\. A barra invertida perde seu significado especial (ou seja, é interpretada literalmente) se preceder um caractere diferente de %, _ ou \.
O ClickHouse exige que barras invertidas em strings também sejam escapadas, então na prática você precisará escrever \\%, \\_ e \\\\.
Para expressões LIKE no formato %needle%, a função é tão rápida quanto a função position. Todas as outras expressões LIKE são convertidas internamente em uma expressão regular e executadas com desempenho semelhante ao da função match.

cláusula ESCAPE

A cláusula ESCAPE opcional especifica um caractere de escape personalizado (deve ser um único caractere ASCII). Quando especificado, o caractere de escape personalizado substitui a barra invertida padrão para escapar os metacaracteres % e _. O caractere de escape pode escapar três coisas: % (porcentagem literal), _ (sublinhado literal) e ele mesmo (caractere de escape literal). Quando um caractere de escape personalizado é usado, a barra invertida não tem significado especial e é tratada como um caractere literal. Sintaxe
Argumentos
  • haystack — String em que a busca é realizada. String ou FixedString
  • pattern — Padrão LIKE usado na correspondência. Pode conter % (corresponde a qualquer número de caracteres), _ (corresponde a um único caractere) e \ para escape. String
  • escape_character — String opcional de um único caractere a ser usada como caractere de escape em vez de \. Padrão: \. String
Valor retornado Retorna 1 se a string corresponder ao padrão LIKE; caso contrário, 0. UInt8 Exemplos Exemplo de uso
Query
Response
Curinga de caractere único
Query
Response
Padrão não correspondente
Query
Response
Cláusula ESCAPE
Query
Response

locate

Introduzido em: v18.16.0 Como position, mas com os argumentos haystack e locate em ordem inversa.
Comportamento dependente da versãoO comportamento dessa função depende da versão do ClickHouse:
  • nas versões < v24.3, locate era um alias da função position e aceitava os argumentos (haystack, needle[, start_pos]).
  • nas versões >= 24.3, locate é uma função própria (para melhor compatibilidade com o MySQL) e aceita os argumentos (needle, haystack[, start_pos]). O comportamento anterior pode ser restaurado usando a configuração function_locate_has_mysql_compatible_argument_order = false.
Sintaxe
Argumentos
  • needle — Substring a ser procurada. String
  • haystack — String na qual a busca é realizada. String ou Enum
  • start_pos — Opcional. Posição (baseada em 1) em haystack a partir da qual a busca começa. UInt
Valor retornado Retorna a posição inicial em bytes, contando a partir de 1, se a substring for encontrada; 0 se a substring não for encontrada. UInt64 Exemplos Uso básico
Query
Response

match

Introduzido em: v1.1.0 Verifica se uma string fornecida corresponde ao padrão de expressão regular informado. Esta função usa a biblioteca de expressões regulares RE2. Consulte re2 para ver a sintaxe compatível. A correspondência funciona assumindo UTF-8; por exemplo, ¥ usa dois bytes internamente, mas a correspondência o trata como um único ponto de código. A expressão regular não deve conter bytes NULL. Se o haystack ou o pattern não forem UTF-8 válidos, o comportamento será indefinido. Ao contrário do comportamento padrão do re2, . corresponde a quebras de linha. Para desativar isso, prefixe o padrão com (?-s). O padrão não é ancorado. Para corresponder à string inteira, ancore o padrão usando ^ e $. Se você só quiser procurar substrings, use as funções like ou position, que são muito mais rápidas do que esta função. Sintaxe alternativa do operador: haystack REGEXP pattern. Sintaxe
Aliases: REGEXP_MATCHES Argumentos
  • haystack — String na qual o padrão é buscado. String
  • pattern — Padrão de expressão regular. Pode ser uma constante ou vir de uma coluna. String
Valor retornado Retorna 1 se o padrão corresponder, 0 caso contrário. UInt8 Exemplos Correspondência de padrões simples
Query
Response
Padrão não corresponde
Query
Response
Correspondência com substring
Query
Response

multiFuzzyMatchAllIndices

Introduzido em: v20.1.0 Semelhante a multiFuzzyMatchAny, mas retorna o array com todos os índices, em qualquer ordem, que correspondem ao haystack dentro de uma distância de edição constante. Sintaxe
Argumentos
  • haystack — String na qual a busca é realizada. String
  • distance — A distância máxima de edição para correspondência aproximada. UInt8
  • pattern — Array de padrões a serem correspondidos. Array(String)
Valor retornado Retorna um array com todos os índices (a partir de 1) que correspondem ao haystack dentro da distância de edição especificada, em qualquer ordem. Retorna um array vazio se nenhuma correspondência for encontrada. Array(UInt64) Exemplos Exemplo de uso
Query
Response

multiFuzzyMatchAny

Introduzido em: v20.1.0 Como multiMatchAny, mas retorna 1 se algum padrão corresponder à haystack dentro de uma distância de edição constante. Esta função depende de uma funcionalidade experimental da biblioteca hyperscan e pode ser lenta em alguns casos extremos. O desempenho depende do valor da distância de edição e dos padrões usados, mas o custo é sempre maior em comparação com as variantes sem correspondência difusa.
A família de funções multiFuzzyMatch*() não oferece suporte a expressões regulares UTF-8 (ela as trata como uma sequência de bytes) devido a restrições do hyperscan.
Sintaxe
Argumentos
  • haystack — String na qual a busca é realizada. String
  • distance — A distância máxima de edição para correspondência aproximada. UInt8
  • pattern — Opcional. Um array de padrões para comparar. Array(String)
Valor retornado Retorna 1 se algum padrão corresponder ao haystack dentro da distância de edição especificada; caso contrário, 0. UInt8 Exemplos Exemplo de uso
Query
Response

multiFuzzyMatchAnyIndex

Introduzido em: v20.1.0 Como multiFuzzyMatchAny, mas retorna qualquer índice que corresponda ao haystack com uma distância de edição constante. Sintaxe
Argumentos
  • haystack — String na qual a busca é realizada. String
  • distance — A distância máxima de edição para correspondência aproximada. UInt8
  • pattern — Array de padrões para correspondência. Array(String)
Valor retornado Retorna o índice (a partir de 1) de qualquer padrão que corresponda ao haystack dentro da distância de edição especificada; caso contrário, 0. UInt64 Exemplos Exemplo de uso
Query
Response

multiMatchAllIndices

Introduzido em: v20.1.0 Como multiMatchAny, mas retorna o array com todos os índices que correspondem ao haystack, em qualquer ordem. Sintaxe
Argumentos
  • haystack — String em que a busca é realizada. String
  • pattern — Expressões regulares usadas na correspondência. String
Valor retornado Array com todos os índices (a partir de 1) que encontram correspondência no haystack, em qualquer ordem. Retorna um array vazio se nenhuma correspondência for encontrada. Array(UInt64) Exemplos Exemplo de uso
Query
Response

multiMatchAny

Introduzido em: v20.1.0 Verifica se pelo menos um entre vários padrões de expressão regular corresponde à string de entrada. Se você quiser apenas pesquisar várias substrings em uma string, pode usar a função multiSearchAny — ela funciona muito mais rápido do que esta função. Sintaxe
Argumentos
  • haystack — String em que os padrões são buscados. String
  • pattern1[, pattern2, ...] — Um array de um ou mais padrões de expressão regular. Array(String)
Valor retornado Retorna 1 se algum padrão corresponder, 0 caso contrário. UInt8 Exemplos Correspondência com múltiplos padrões
Query
Response
Nenhum padrão corresponde
Query
Response

multiMatchAnyIndex

Introduzido em: v20.1.0 Como multiMatchAny, mas retorna qualquer índice que corresponda à string de entrada. Sintaxe
Argumentos
  • haystack — String na qual a busca é realizada. String
  • pattern — Expressões regulares a serem correspondidas. Array(String)
Valor retornado Retorna o índice (a partir de 1) do primeiro padrão que corresponde, ou 0 se nenhuma correspondência for encontrada. UInt64 Exemplos Exemplo de uso
Query
Response

multiSearchAllPositions

Introduzido em: v20.1.0 Como position, mas retorna um array com as posições (em bytes, começando em 1) de várias substrings needle em uma string haystack. Todas as funções multiSearch*() suportam no máximo 2^8 needles. Sintaxe
Argumentos
  • haystack — String na qual a busca é feita. String
  • needle1[, needle2, ...] — Um array com uma ou mais substrings a serem buscadas. Array(String)
Valor retornado Retorna um array com a posição inicial em bytes, contada a partir de 1, se a substring for encontrada, ou 0 se a substring não for encontrada. Array(UInt64) Exemplos Busca por múltiplas substrings
Query
Response

multiSearchAllPositionsCaseInsensitive

Introduzido em: v20.1.0 Como multiSearchAllPositions, mas não diferencia maiúsculas de minúsculas. Sintaxe
Argumentos
  • haystack — String na qual a busca é realizada. String
  • needle1[, needle2, ...] — Um array de uma ou mais substrings a serem pesquisadas. Array(String)
Valor retornado Retorna um array com a posição inicial em bytes, contando a partir de 1 (se a substring for encontrada), ou 0 se a substring não for encontrada. Array(UInt64) Exemplos Multibusca sem distinção entre maiúsculas e minúsculas
Query
Response

multiSearchAllPositionsCaseInsensitiveUTF8

Introduzido em: v20.1.0 Como multiSearchAllPositionsUTF8, mas não diferencia maiúsculas de minúsculas. Sintaxe
Argumentos
  • haystack — string codificada em UTF-8 na qual a busca é realizada. String
  • needle — substrings codificadas em UTF-8 que serão buscadas. Array(String)
Valor retornado Array com as posições iniciais em bytes, contadas a partir de 1 (se a substring for encontrada). Retorna 0 se a substring não for encontrada. Array Exemplos Busca UTF-8 sem diferenciar maiúsculas de minúsculas
Query
Response

multiSearchAllPositionsUTF8

Introduzido em: v20.1.0 Como multiSearchAllPositions, mas pressupõe que haystack e as substrings needle sejam strings codificadas em UTF-8. Sintaxe
Argumentos
  • haystack — String codificada em UTF-8 na qual a busca é realizada. String
  • needle1[, needle2, ...] — Um array de substrings codificadas em UTF-8 a serem procuradas. Array(String)
Valor retornado Retorna um array com as posições iniciais, em bytes e contadas a partir de 1 (se a substring for encontrada), ou 0, se a substring não for encontrada. Array Exemplos Busca múltipla em UTF-8
Query
Response

multiSearchAny

Introduzido em: v20.1.0 Verifica se pelo menos uma das várias strings needle corresponde à string haystack. As funções multiSearchAnyCaseInsensitive, multiSearchAnyUTF8 e multiSearchAnyCaseInsensitiveUTF8 fornecem variantes sem distinção entre maiúsculas e minúsculas e/ou em UTF-8 desta função. Sintaxe
Argumentos
  • haystack — String em que a busca é realizada. String
  • needle1[, needle2, ...] — Um array de substrings a serem pesquisadas. Array(String)
Valor retornado Retorna 1 se houver pelo menos uma correspondência; caso contrário, 0. UInt8 Exemplos Busca por qualquer correspondência
Query
Response

multiSearchAnyCaseInsensitive

Introduzido em: v20.1.0 Como multiSearchAny, mas sem diferenciar maiúsculas de minúsculas. Sintaxe
Argumentos
  • haystack — String em que a busca é realizada. String
  • needle — Substrings a serem pesquisadas. Array(String)
Valor retornado Retorna 1 se houver pelo menos uma correspondência sem distinção entre maiúsculas e minúsculas; caso contrário, retorna 0. UInt8 Exemplos Busca sem distinção entre maiúsculas e minúsculas
Query
Response

multiSearchAnyCaseInsensitiveUTF8

Introduzido em: v20.1.0 Como multiSearchAnyUTF8, mas sem diferenciar maiúsculas de minúsculas. Sintaxe
Argumentos
  • haystack — string UTF-8 na qual a busca é realizada. String
  • needle — substrings UTF-8 a serem procuradas. Array(String)
Valor retornado Retorna 1 se houver pelo menos uma correspondência sem diferenciar maiúsculas de minúsculas; caso contrário, retorna 0. UInt8 Exemplos Dada a string UTF-8 ‘Здравствуйте’, verifique se o caractere ‘з’ (minúsculo) está presente
Query
Response

multiSearchAnyUTF8

Introduzido em: v20.1.0 Semelhante a multiSearchAny, mas assume que haystack e as substrings needle são strings codificadas em UTF-8. Sintaxe
Argumentos
  • haystack — string em UTF-8 na qual a busca é realizada. String
  • needle — substrings em UTF-8 a serem buscadas. Array(String)
Valor retornado Retorna 1 se houver pelo menos uma correspondência; caso contrário, retorna 0. UInt8 Exemplos Dada ‘你好,世界’ (‘Olá, mundo’) como uma string em UTF-8, verifique se a string contém algum caractere 你 ou 界
Query
Response

multiSearchFirstIndex

Introduzido em: v20.1.0 Procura várias strings needle em uma string haystack (diferencia maiúsculas de minúsculas) e retorna o índice, com base em 1, da primeira needle encontrada. Sintaxe
Argumentos
  • haystack — A string em que a busca será feita. String
  • needles — Array de strings a serem pesquisadas. Array(String)
Valor retornado Retorna o índice com base em 1 (posição no array needles) da primeira needle encontrada em haystack. Retorna 0 se nenhuma needle for encontrada. A busca diferencia maiúsculas de minúsculas. UInt64 Exemplos Exemplo de uso
Query
Response
Comportamento com diferenciação entre maiúsculas e minúsculas
Query
Response
Nenhuma correspondência encontrada
Query
Response

multiSearchFirstIndexCaseInsensitive

Introduzido em: v20.1.0 Retorna o índice i (a partir de 1) da needle&#95;i localizada mais à esquerda na string haystack e 0 caso contrário. Não diferencia maiúsculas de minúsculas. Sintaxe
Argumentos
  • haystack — String em que a busca é realizada. String
  • needle — Substrings a serem buscadas. Array(String)
Valor retornado Retorna o índice (a partir de 1) da substring encontrada mais à esquerda. Caso contrário, retorna 0 se não houver correspondência. UInt8 Exemplos Exemplo de uso
Query
Response

multiSearchFirstIndexCaseInsensitiveUTF8

Introduzido em: v20.1.0 Procura várias strings needle em uma string haystack, sem diferenciar maiúsculas de minúsculas e com suporte à codificação UTF-8, e retorna o índice, começando em 1, da primeira needle encontrada. Sintaxe
Argumentos
  • haystack — A string em que a busca é feita. String
  • needles — Array de strings a serem buscadas. Array(String)
Valor retornado Retorna o índice com base em 1 (posição no array needles) da primeira string encontrada em haystack. Retorna 0 se nenhuma string for encontrada. A busca não diferencia maiúsculas de minúsculas e respeita a codificação de caracteres UTF-8. UInt64 Exemplos Exemplo de uso
Query
Response
Tratamento de maiúsculas/minúsculas em UTF-8
Query
Response
Nenhuma correspondência encontrada
Query
Response

multiSearchFirstIndexUTF8

Introduzido em: v20.1.0 Retorna o índice i (a partir de 1) da needle_i encontrada na posição mais à esquerda na string haystack, e 0 caso contrário. Pressupõe que haystack e needle sejam strings codificadas em UTF-8. Sintaxe
Argumentos
  • haystack — string em UTF-8 na qual a busca é realizada. String
  • needle — Array de substrings em UTF-8 a serem procuradas. Array(String)
Valor retornado Retorna o índice (a partir de 1) da needle encontrada mais à esquerda. Caso contrário, retorna 0 se não houver correspondência. UInt8 Exemplos Exemplo de uso
Query
Response

multiSearchFirstPosition

Introduzido em: v20.1.0 Como position, mas retorna a posição mais à esquerda em uma string haystack que corresponde a qualquer uma de várias strings needle. As funções multiSearchFirstPositionCaseInsensitive, multiSearchFirstPositionUTF8 e multiSearchFirstPositionCaseInsensitiveUTF8 fornecem variantes sem distinção entre maiúsculas e minúsculas e/ou em UTF-8 desta função. Sintaxe
Argumentos
  • haystack — String na qual a busca é realizada. String
  • needle1[, needle2, ...] — Um array de uma ou mais substrings a serem buscadas. Array(String)
Valor retornado Retorna o deslocamento da ocorrência mais à esquerda em uma string haystack que corresponda a qualquer uma de várias strings needle; caso contrário, 0, se não houver correspondência. UInt64 Exemplos Busca da primeira posição
Query
Response

multiSearchFirstPositionCaseInsensitive

Introduzido em: v20.1.0 Como multiSearchFirstPosition, mas não diferencia maiúsculas de minúsculas. Sintaxe
Argumentos
  • haystack — String em que a busca é realizada. String
  • needle — Array de substrings a serem buscadas. Array(String)
Valor retornado Retorna o deslocamento na string haystack que corresponde a qualquer uma das strings needle. Retorna 0 se não houver correspondência. UInt64 Exemplos Primeira posição sem diferenciar maiúsculas de minúsculas
Query
Response

multiSearchFirstPositionCaseInsensitiveUTF8

Introduzido em: v20.1.0 Como multiSearchFirstPosition, mas considera haystack e needle como strings UTF-8 e não diferencia maiúsculas de minúsculas. Sintaxe
Argumentos
  • haystack — string UTF-8 na qual a busca é realizada. String
  • needle — Array de substrings UTF-8 a serem procuradas. Array(String)
Valor retornado Retorna o deslocamento mais à esquerda em uma string haystack que corresponde a qualquer uma das várias strings needle, sem diferenciar maiúsculas de minúsculas. Retorna 0 se não houver correspondência. UInt64 Exemplos Encontre o deslocamento mais à esquerda na string UTF-8 ‘Здравствуй, мир’ (‘Hello, world’) que corresponde a qualquer uma das substrings fornecidas
Query
Response

multiSearchFirstPositionUTF8

Introduzido em: v20.1.0 Assim como multiSearchFirstPosition, mas pressupõe que haystack e needle sejam strings UTF-8. Sintaxe
Argumentos
  • haystack — string UTF-8 na qual a busca é realizada. String
  • needle — Array de substrings UTF-8 a serem procuradas. Array(String)
Valor retornado Deslocamento da ocorrência mais à esquerda em uma string haystack que corresponde a qualquer uma das várias strings needle. Retorna 0 se não houver correspondência. UInt64 Exemplos Encontre o deslocamento da ocorrência mais à esquerda na string UTF-8 ‘Здравствуй, мир’ (‘Hello, world’) que corresponde a qualquer uma das strings needle fornecidas
Query
Response

ngramDistance

Introduzido em: v20.1.0 Calcula a distância de 4-gramas entre duas strings. Para isso, conta a diferença simétrica entre dois multiconjuntos de 4-gramas e a normaliza pela soma de suas cardinalidades. Quanto menor o valor retornado, mais semelhantes são as strings. Para busca sem distinção entre maiúsculas e minúsculas e/ou no formato UTF-8, use as funções ngramDistanceCaseInsensitive, ngramDistanceUTF8, ngramDistanceCaseInsensitiveUTF8. Sintaxe
Argumentos
  • haystack — String para comparação. String
  • needle — String para comparação. String
Valor retornado Retorna um valor Float32 entre 0 e 1. Quanto menor o valor retornado, mais semelhantes são as strings. Float32 Exemplos Calcular a distância por 4-gramas
Query
Response

ngramDistanceCaseInsensitive

Introduzido em: v20.1.0 Fornece uma variante de ngramDistance sem diferenciar maiúsculas de minúsculas. Calcula a distância de 4-gram entre duas strings, ignorando maiúsculas e minúsculas. Quanto menor o valor retornado, mais semelhantes são as strings. Sintaxe
Argumentos
  • haystack — Primeira string de comparação. String
  • needle — Segunda string de comparação. String
Valor retornado Retorna um número Float32 entre 0 e 1. Float32 Exemplos Distância de 4 gramas sem diferenciar maiúsculas de minúsculas
Query
Response

ngramDistanceCaseInsensitiveUTF8

Introduzido em: v20.1.0 Fornece uma variante UTF-8 de ngramDistance que não diferencia maiúsculas de minúsculas. Pressupõe que as strings needle e haystack sejam codificadas em UTF-8 e ignora maiúsculas e minúsculas. Calcula a distância de 3-gramas entre duas strings UTF-8, ignorando maiúsculas e minúsculas. Quanto menor o valor retornado, mais semelhantes são as strings. Sintaxe
Argumentos
  • haystack — Primeira string de comparação codificada em UTF-8. String
  • needle — Segunda string de comparação codificada em UTF-8. String
Valor retornado Retorna um número Float32 entre 0 e 1. Float32 Exemplos Distância UTF-8 de 3 gramas sem diferenciar maiúsculas de minúsculas
Query
Response

ngramDistanceUTF8

Introduzido em: v20.1.0 Fornece uma variante em UTF-8 de ngramDistance. Pressupõe que as strings needle e haystack sejam codificadas em UTF-8. Calcula a distância de 3-gramas entre duas strings UTF-8. Quanto menor o valor retornado, mais semelhantes são as strings. Sintaxe
Argumentos
  • haystack — Primeira string de comparação codificada em UTF-8. String
  • needle — Segunda string de comparação codificada em UTF-8. String
Valor retornado Retorna um número Float32 entre 0 e 1. Float32 Exemplos Distância de 3-gramas UTF-8
Query
Response

ngramSearch

Introduzido em: v20.1.0 Verifica se a distância de 4-gramas entre duas strings é menor ou igual a um determinado limiar. Para busca sem distinção entre maiúsculas e minúsculas e/ou no formato UTF-8, use as funções ngramSearchCaseInsensitive, ngramSearchUTF8, ngramSearchCaseInsensitiveUTF8. Sintaxe
Argumentos
  • haystack — String a ser comparada. String
  • needle — String a ser comparada. String
Valor retornado Retorna 1 se a distância de 4-gramas entre as strings for menor ou igual a um limiar (1.0 por padrão); caso contrário, retorna 0. UInt8 Exemplos Busca com 4-gramas
Query
Response

ngramSearchCaseInsensitive

Introduzido em: v20.1.0 Fornece uma variante de ngramSearch que não diferencia maiúsculas de minúsculas. Calcula a diferença não simétrica entre as strings needle e haystack, ou seja, o número de n-gramas da needle menos o número de n-gramas em comum, normalizado pelo número de n-gramas da needle. Verifica se a distância de 4-gramas entre duas strings é menor ou igual a um determinado limiar, ignorando maiúsculas e minúsculas. Sintaxe
Argumentos
  • haystack — String de comparação. String
  • needle — String de comparação. String
Valor retornado Retorna 1 se a distância de 4-gramas entre as strings for menor ou igual ao limiar (1.0 por padrão); caso contrário, retorna 0. UInt8 Exemplos Busca sem distinção entre maiúsculas e minúsculas usando 4-gramas
Query
Response

ngramSearchCaseInsensitiveUTF8

Introduzido em: v20.1.0 Fornece uma variante UTF-8 de ngramSearch sem diferenciar maiúsculas de minúsculas. Pressupõe que haystack e needle sejam strings UTF-8 e ignora diferenças entre maiúsculas e minúsculas. Verifica se a distância de 3-gramas entre duas strings UTF-8 é menor ou igual a um determinado limite, sem diferenciar maiúsculas de minúsculas. Sintaxe
Argumentos
  • haystack — string em UTF-8 para comparação. String
  • needle — string em UTF-8 para comparação. String
Valor retornado Retorna 1 se a distância de 3-gramas entre as strings for menor ou igual a um limiar (1.0 por padrão), 0 caso contrário. UInt8 Exemplos Busca UTF-8 sem diferenciar maiúsculas de minúsculas usando 3-gramas
Query
Response

ngramSearchUTF8

Introduzido em: v20.1.0 Fornece uma variante UTF-8 de ngramSearch. Pressupõe que haystack e needle sejam strings em UTF-8. Verifica se a distância de 3-gramas entre duas strings em UTF-8 é menor ou igual a um determinado limite. Sintaxe
Argumentos
  • haystack — string em UTF-8 para comparação. String
  • needle — string em UTF-8 para comparação. String
Valor retornado Retorna 1 se a distância de 3-gramas entre as strings for menor ou igual a um limiar (1.0 por padrão); caso contrário, 0. UInt8 Exemplos Busca em UTF-8 usando 3-gramas
Query
Response

notILike

Introduzido na versão: v20.6.0 Verifica se uma string não corresponde a um padrão, sem diferenciar maiúsculas de minúsculas. O padrão pode conter os caracteres especiais % e _ para correspondência com SQL LIKE. Suporta a cláusula opcional ESCAPE (consulte like). Sintaxe
Argumentos
  • haystack — A string de entrada na qual a busca é feita. String ou FixedString
  • pattern — O padrão SQL LIKE usado para correspondência. % corresponde a qualquer número de caracteres (incluindo zero), _ corresponde a exatamente um caractere. String
  • escape_character — String opcional de um único caractere a ser usada como caractere de escape em vez de \. Padrão: \. String
Valor retornado Retorna 1 se a string não corresponder ao padrão (sem diferenciar maiúsculas de minúsculas); caso contrário, 0. UInt8 Exemplos Exemplo de uso
Query
Response

notLike

Introduzido em: v1.1.0 Semelhante a like, mas com o resultado negado. Oferece suporte à cláusula opcional ESCAPE (consulte like). Sintaxe
Argumentos
  • haystack — String em que a busca é realizada. String e FixedString
  • pattern — Padrão LIKE para correspondência. String
  • escape_character — String opcional de um único caractere para usar como caractere de escape em vez de \. Padrão: \. String
Valor retornado Retorna 1 se a string não corresponder ao padrão LIKE; caso contrário, 0. UInt8 Exemplos Exemplo de uso
Query
Response
Padrão não correspondente
Query
Response

position

Introduzido na versão: v1.1.0 Retorna a posição (em bytes, começando em 1) de uma substring needle em uma string haystack. Se a substring needle estiver vazia, aplicam-se as seguintes regras:
  • se nenhum start_pos for especificado: retorna 1
  • se start_pos = 0: retorna 1
  • se start_pos >= 1 e start_pos <= length(haystack) + 1: retorna start_pos
  • caso contrário: retorna 0
As mesmas regras também se aplicam às funções locate, positionCaseInsensitive, positionUTF8 e positionCaseInsensitiveUTF8. Sintaxe
Argumentos
  • haystack — String em que a busca é realizada. String ou Enum
  • needle — Substring a ser procurada. String
  • start_pos — Posição em haystack (começando em 1) na qual a busca se inicia. Opcional. UInt
Valor retornado Retorna a posição inicial em bytes, contando a partir de 1, se a substring for encontrada; caso contrário, retorna 0 se a substring não for encontrada. UInt64 Exemplos Uso básico
Query
Response
Com o argumento start_pos
Query
Response
Sintaxe de needle IN haystack
Query
Response
Subcadeia com needle vazio
Query
Response

positionCaseInsensitive

Introduzido em: v1.1.0 Como position, mas sem diferenciar maiúsculas de minúsculas. Sintaxe
Aliases: instr Argumentos
  • haystack — String em que a busca é realizada. String ou Enum
  • needle — Substring a ser procurada. String
  • start_pos — Opcional. Posição (indexada a partir de 1) em haystack na qual a busca começa. UInt*
Valor retornado Retorna a posição inicial em bytes, contando a partir de 1, se a substring for encontrada; caso contrário, retorna 0. UInt64 Exemplos Busca sem diferenciar maiúsculas de minúsculas
Query
Response

positionCaseInsensitiveUTF8

Introduzido em: v1.1.0 Como positionUTF8, mas faz a busca sem diferenciar letras maiúsculas de minúsculas. Sintaxe
Argumentos
  • haystack — String na qual a busca é realizada. String ou Enum
  • needle — Substring a ser procurada. String
  • start_pos — Opcional. Posição (base 1) em haystack na qual a busca começa. UInt*
Valor retornado Retorna a posição inicial, em bytes e contando a partir de 1, se a substring for encontrada; caso contrário, retorna 0. UInt64 Exemplos Busca UTF-8 sem diferenciar maiúsculas de minúsculas
Query
Response

positionUTF8

Introduzido em: v1.1.0 Como position, mas presume que haystack e needle sejam strings codificadas em UTF-8. Sintaxe
Argumentos
  • haystack — String na qual a busca é realizada. String ou Enum
  • needle — Substring a ser pesquisada. String
  • start_pos — Opcional. Posição (começando em 1) em haystack na qual a busca se inicia. UInt*
Valor retornado Retorna a posição inicial em bytes, contando a partir de 1, se a substring for encontrada; caso contrário, retorna 0. UInt64 Exemplos Contagem de caracteres UTF-8
Query
Response
Última modificação em 2 de julho de 2026