Este tópico explica a sintaxe básica e apresenta exemplos de funções de string.
O Log Service oferece suporte às seguintes funções de string.
Para usar strings em instruções analíticas, coloque-as entre aspas simples (''). Strings sem aspas ou entre aspas duplas ("") indicam nomes de campos ou colunas. Por exemplo,
'status'
indica a string status, enquanto
status
ou
"status"
indica o campo de log status.
Função | Sintaxe | Descrição | SQL | SPL |
chr(x) | Converte um código ASCII em caractere. | √ | √ | |
codepoint(x) | Converte um caractere em código ASCII. | √ | √ | |
concat(x, y...) | Concatena várias strings. | √ | √ | |
from_utf8(x) | Decodifica uma string binária como texto UTF-8 e substitui caracteres inválidos pelo caractere de substituição padrão (U+FFFD). | √ | √ | |
from_utf8(x, replace_string) | Decodifica uma string binária como texto UTF-8 e substitui caracteres inválidos por uma string personalizada. | √ | √ | |
length(x) | Retorna o comprimento de uma string. | √ | √ | |
levenshtein_distance(x, y) | Calcula a distância mínima de edição entre x e y. | √ | × | |
lower(x) | Converte uma string para minúsculas. | √ | √ | |
lpad(x, length, lpad_string) | Preenche o início de uma string com outra string especificada até atingir o comprimento definido. | √ | √ | |
ltrim(x) | Remove espaços em branco à esquerda de uma string. | √ | √ | |
normalize(x) | Normaliza uma string para a forma NFC. | √ | × | |
position(sub_string in x) | Retorna a posição inicial da primeira ocorrência de uma substring em outra string. | √ | × | |
replace(x, sub_string ) | Remove todas as ocorrências de uma substring especificada de uma string. | √ | √ | |
replace(x, sub_string, replace_string) | Substitui todas as ocorrências de uma substring especificada por uma string de substituição. | √ | √ | |
reverse(x) | Inverte uma string. | √ | √ | |
rpad(x, length, rpad_string) | Preenche o final de uma string com outra string especificada até atingir o comprimento definido. | √ | √ | |
rtrim(x) | Remove espaços em branco à direita de uma string. | √ | √ | |
split(x, delimiter) | Divide uma string por um delimitador e retorna um array de substrings. | √ | √ | |
split(x, delimiter, limit) | Divide uma string por um separador especificado, usa o parâmetro limit para restringir o número de divisões e retorna um array das substrings resultantes. | √ | √ | |
split_part(x, delimiter, part) | Divide uma string por um delimitador e retorna a substring na posição especificada. | √ | √ | |
split_to_map(x, delimiter01, delimiter02) | Divide uma string em um mapa de pares chave-valor usando dois delimitadores. | √ | √ | |
strpos(x, sub_string) | Alias para position(sub_string in x). | √ | √ | |
substr(x, start) | Extrai uma substring de uma string a partir de uma posição especificada. | √ | √ | |
substr(x, start, length) | Extrai uma substring com comprimento especificado de uma string a partir de uma posição definida. | √ | √ | |
to_utf8(x) | Codifica uma string em formato binário UTF-8. | √ | √ | |
trim(x) | Remove espaços em branco à esquerda e à direita de uma string. | √ | √ | |
upper(x) | Converte uma string para maiúsculas. | √ | √ | |
csv_extract_map(x, delimiter, quote, keys) | Extrai valores especificados de uma linha de texto CSV para um mapa. | √ | × | |
ilike(x, pattern) | Verifica se uma string corresponde a um padrão, sem diferenciar maiúsculas de minúsculas. | √ | √ | |
str_uuid() | Gera um UUID aleatório de 128 bits e o retorna como string. | × | √ | |
gzip_compress(data, compression_level) | Comprime uma string em um fluxo binário usando o algoritmo GZIP. | × | √ | |
gzip_decompress(binary_data) | Descomprime um fluxo binário comprimido com GZIP e retorna a string original. | × | √ | |
search(search_expression) | Executa uma busca de texto completo em dados de log dentro de uma instrução analítica SQL. Suporta operações booleanas, buscas específicas de campos, consultas difusas e consultas de intervalo. | √ | × |
Função chr
A função chr converte um código ASCII em caractere.
Sintaxe
chr(x)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
O código ASCII. |
Tipo de retorno
varchar.
Exemplo
Verifique se a primeira letra do valor do campo region é 'c', onde 99 é o código ASCII da letra minúscula 'c'.
-
Campo de amostra
region:cn-shanghai -
Instrução de consulta e análise (Testar)
* | SELECT substr(region, 1, 1) = chr(99) Resultados da consulta e análise: O valor retornado na coluna
_col0étrue, indicando que o primeiro caractere do camporegioncorresponde achr(99)(caracterec).
Função codepoint
A função codepoint converte um caractere em código ASCII.
Sintaxe
codepoint(x)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
O caractere a converter. Deve ser do tipo |
Tipo de valor de retorno
integer.
Exemplo
Verifique se a primeira letra do valor do campo region é 'c', onde 99 é o código ASCII da letra minúscula 'c'.
-
Campo de amostra
upstream_status:200 -
Instrução de consulta (Testar)
* | SELECT codepoint(cast (substr(region, 1, 1) AS char(1))) = 99 Resultados da consulta e análise: A coluna
_col0retorna duas linhas de dados, ambas com valortrue.
Função concat
Concatena várias strings em uma única string.
Sintaxe
concat(x, y...)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
Valor varchar. |
|
y |
Valor varchar. |
Tipo de valor de retorno
varchar.
Exemplo
Concatene os valores dos campos region e request_method em uma única string.
-
Campos de amostra
region:cn-shanghai time:14/Jul/2021:02:19:40 -
Instrução de consulta e análise (Testar)
* | SELECT concat(region, '-', time) Nos resultados da consulta e análise, a coluna
_col0retorna uma string concatenada, comocn-shanghai-14/Jul/2021:01:16:30.
Função from_utf8
Decodifica uma string binária para o formato UTF-8.
Sintaxe
-
Substitui caracteres UTF-8 inválidos pelo caractere de substituição padrão U+FFFD.
from_utf8(x) -
Substitui caracteres UTF-8 inválidos por um caractere especificado.
from_utf8(x,replace_string)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
String binária a decodificar. |
|
replace_string |
Caractere único opcional ou espaço usado para substituir caracteres UTF-8 inválidos. |
Tipo de valor de retorno
varchar
Exemplos
-
Decodifique a string binária 0x80 e substitua caracteres UTF-8 inválidos pelo caractere de substituição padrão (U+FFFD).
-
Instrução de consulta e análise (Depurar)
* | SELECT from_utf8(from_base64('0x80')) Resultados da consulta e análise: A consulta retorna uma única coluna
_col0. O valor é uma string contendo o caractere de substituição (U+FFFD), indicando que bytes UTF-8 inválidos foram substituídos pelo caractere padrão.
-
-
Decodifique a string binária 0x80 e substitua caracteres UTF-8 inválidos por '0'.
-
Instrução de consulta e análise (Depurar)
* | SELECT from_utf8(from_base64('0x80'), '0') Os resultados retornam uma única coluna chamada
_col0com o valor0□4. O quadrado representa um byte não renderizável, gerado pela funçãofrom_utf8ao substituir um byte UTF-8 inválido.
-
Função length
Retorna o comprimento de uma string.
Sintaxe
length(x)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
Valor varchar. |
Valor de retorno
bigint
Exemplo
Calcule o comprimento do valor do campo http_user_agent.
-
Campo de amostra
http_user_agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2 -
Instrução de consulta (Testar)
* | SELECT length(http_user_agent) O resultado da consulta e análise é
127, representando o comprimento da string do campohttp_user_agent.
Função levenshtein_distance
Calcula a distância mínima de edição entre duas strings.
Sintaxe
levenshtein_distance(x, y)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
Valor varchar. |
|
y |
Valor varchar. |
Valor de retorno
bigint.
Exemplo
Consulte a distância mínima de edição entre os valores dos campos instance_id e owner_id.
-
Campos de amostra
instance_id:i-01 owner_id:owner-01 -
Instrução de consulta e análise (Depurar)
* | SELECT levenshtein_distance(owner_id, instance_id) O resultado da consulta e análise é
5.
Função lower
Converte uma string para minúsculas.
Sintaxe
lower(x)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
String varchar. |
Tipo de retorno
varchar
Exemplo
Converta o valor do campo request_method para minúsculas.
-
Campo de amostra
request_method:GET -
Instrução de consulta e análise (Depurar)
* | SELECT lower(request_method) O resultado da consulta e análise é
get.
Função lpad
A função lpad preenche uma string à esquerda com caracteres especificados até um comprimento definido.
Sintaxe
lpad(x, length, lpad_string)
Parâmetros
Parâmetro | Descrição |
x | Valor do tipo varchar. |
length | Inteiro que especifica o comprimento desejado da string resultante.
|
lpad_string | Caractere ou string usada para preenchimento. |
Tipo de retorno
varchar
Exemplo
Preencha o valor do campo instance_id com zeros à esquerda até completar 10 dígitos.
-
Campo de amostra
instance_id:i-01 -
Instrução de consulta (Testar)
* | SELECT lpad(instance_id, 10, '0') Nos resultados da consulta e análise, o valor da coluna
_col0é000000i-01.
Função ltrim
Remove espaços à esquerda de uma string.
Sintaxe
ltrim(x)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
String de entrada. Deve ser do tipo varchar. |
Tipo de valor de retorno
varchar
Exemplo
Remova os espaços à esquerda do valor do campo region.
-
Campo de amostra
region: cn-shanghai -
Instrução de consulta e análise (Testar)
* | SELECT ltrim(region) O resultado é
cn-shanghai.
Função normalize
Normaliza uma string usando o formato Normalization Form C (NFC).
Sintaxe
normalize(x)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
String varchar a normalizar. |
Tipo de valor de retorno
varchar.
Exemplo
Este exemplo normaliza a string schön usando o formato NFC.
-
Instrução de consulta (Depurar)
* | SELECT normalize('schön') Os resultados retornam uma linha e uma coluna. O nome da coluna é
_col0e o valor éschön.
Função position
Retorna a posição inicial de uma substring dentro de uma string.
Sintaxe
position(sub_string in x)
Parâmetros
|
Parâmetro |
Descrição |
|
sub_string |
Substring a pesquisar. |
|
x |
String onde pesquisar. Deve ser do tipo varchar. |
Tipo de valor de retorno
Inteiro representando a posição inicial baseada em 1 da substring. Retorna 0 se a substring não for encontrada.
Exemplo
Encontre a posição da substring cn no campo region.
-
Campo de amostra
region:cn-shanghai -
Instrução de consulta e análise (Testar)
* | SELECT position('cn' in region) Resultados da consulta e análise: A coluna
_col0retorna1, indicando que a substringcncomeça na posição 1 da stringcn-shanghai.
Função replace
A função replace remove ou substitui todas as ocorrências de uma substring especificada em uma string.
Sintaxe
-
Remove todas as ocorrências de uma substring de uma string.
replace(x, sub_string) -
Substitui todas as ocorrências de uma substring por outra string.
replace(x, sub_string, replace_string)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
String de source. Deve ser varchar. |
|
sub_string |
Substring a remover ou substituir. |
|
replace_string |
String de substituição. |
Tipo de valor de retorno
varchar
Exemplos
-
Exemplo 1: No valor do campo
region, substituacnporChina.-
Campo de amostra
region:cn-shanghai -
Instrução de consulta e análise (Depurar)
* | select replace(region, 'cn', '中国') Nos resultados da consulta e análise, o valor da coluna
_col0éChina-shanghai.
-
-
Exemplo 2: Remova
cn-do valor do camporegion.-
Campo de amostra
region:cn-shanghai -
Instrução de consulta e análise (Depurar)
* | select replace(region, 'cn-') O resultado da consulta e análise é
shanghai.
-
Função reverse
A função reverse retorna uma string com seus caracteres em ordem inversa.
Sintaxe
reverse(x)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
String de entrada. Deve ser do tipo varchar. |
Tipo de valor de retorno
varchar
Exemplo
Inverta o valor do campo request_method.
-
Campo de amostra
request_method:GET -
Instrução de consulta (Testar)
* | SELECT reverse(request_method) O resultado é
TEG.
Função rpad
Preenche uma string à direita com caracteres especificados até um comprimento definido.
Sintaxe
rpad(x, length, rpad_string)
Parâmetros
Parâmetro | Descrição |
x | String de source. Deve ser do tipo varchar. |
length | Comprimento desejado da string resultante, especificado como inteiro.
|
rpad_string | Caractere ou string usada para preenchimento. |
Tipo de valor de retorno
varchar.
Exemplo
O exemplo a seguir preenche o valor do campo instance_id com zeros à direita até completar 10 caracteres.
-
Campo de amostra
instance_id:i-01 -
Instrução de consulta (Depurar)
* | SELECT rpad(instance_id, 10, '0') Resultados da consulta e análise: A coluna
_col0retorna o valori-01000000.
Função rtrim
Remove espaços à direita de uma string.
Sintaxe
rtrim(x)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
String de source. Deve ser varchar. |
Tipo de retorno
varchar
Exemplo
Esta consulta remove espaços à direita do valor do campo instance_id.
-
Campo de amostra
instance_id:i-01 -
Instrução de consulta (Depurar)
* | SELECT rtrim(instance_id) Resultados da consulta e análise: O valor da coluna
_col0éi-01.
Função split
A função split divide uma string em um array de substrings usando um separador.
Sintaxe
-
Divide uma string por um separador.
split(x, delimiter) -
Divide uma string por um separador em um número máximo de substrings.
split(x,delimiter,limit)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
String varchar a dividir. |
|
delimiter |
Delimitador usado para dividir a string. |
|
limit |
Número máximo de substrings a retornar. Deve ser um inteiro positivo. |
Tipo de valor de retorno
array
Exemplos
-
Exemplo 1: Divida o valor do campo
request_uriem quatro substrings usando barra (/) e retorne um array dessas substrings.-
Campo de amostra
request_uri:/request/path-1/file-9 -
Instrução de consulta e análise (Testar)
* | SELECT split(request_uri, '/') Resultados da consulta e análise: A consulta retorna
["" ,"request","path-1","file-9"], que é o array criado pela divisão derequest_uripor/.
-
-
Exemplo 2: Use barra (/) para dividir o valor do campo
request_uriem 3 substrings e retorne uma coleção das substrings.-
Campo de amostra
request_uri:/request/path-1/file-9 -
Instrução de consulta e análise (Testar)
* | SELECT split(request_uri, '/', 3) Nos resultados da consulta e análise, o valor da coluna _col0 é
["","request","path-1/file-9"].
-
Função split_part
Divide uma string por um separador especificado e retorna a substring no índice especificado.
Sintaxe
split_part(x, delimiter, part)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
String a dividir. Deve ser varchar. |
|
delimiter |
String não vazia usada como separador. |
|
part |
Expressão inteira especificando o índice baseado em 1 da substring a retornar. Deve ser maior que 0. |
Valor de retorno
varchar
Exemplo
Divida o valor do campo request_uri usando ponto de interrogação (?) e retorne a primeira substring (caminho do arquivo). Em seguida, conte o número de solicitações para cada caminho.
-
Campos de amostra
request_uri: /request/path-2/file-6?name=value&age=18 request_uri: /request/path-2/file-0?name=value&age=18 request_uri: /request/path-3/file-2?name=value&age=18 -
Instrução de consulta (Testar)
* | SELECT count(*) AS PV, split_part(request_uri, '?', 1) AS Path GROUP BY Path ORDER BY pv DESC Resultados da consulta e análise:
/request/path-2/file-6tem PV 49,/request/path-2/file-0tem PV 47 e/request/path-3/file-2tem PV 44.
Função split_to_map
A função split_to_map analisa uma string de pares chave-valor em um mapa usando dois delimitadores.
Sintaxe
split_to_map(x, delimiter01, delimiter02)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
String de entrada a analisar. Deve ser varchar. |
|
delimiter01 |
Delimitador que separa os pares chave-valor. |
|
delimiter02 |
Delimitador que separa a chave do valor em cada par. |
Tipo de retorno
map
Exemplo
Use vírgula (,) e dois pontos (:) para dividir o valor do campo time e retornar um MAP.
-
Campo de amostra
upstream_response_time:"80",request_time:"40" -
Instrução de consulta e análise
* | SELECT split_to_map(time, ',', ':') A função retorna um mapa exibido nos resultados em formato JSON:
{"request_time":"\"40\"","upstream_response_time":"\"80\""}.
Função strpos
A função strpos retorna a posição inicial de uma substring em uma string. É um alias para a função position.
Sintaxe
strpos(x, sub_string)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
String de source a pesquisar. Deve ser varchar. |
|
sub_string |
Substring a pesquisar. |
Tipo de valor de retorno
Inteiro representando a posição inicial baseada em 1 da substring. Retorna 0 se a substring não for encontrada.
Exemplo
Este exemplo encontra a posição do caractere 'H' no campo server_protocol.
-
Instrução de consulta (Testar)
* | SELECT strpos(server_protocol, 'H') Resultados da consulta e análise: A coluna
_col0retorna duas linhas de dados, ambas com valor1, indicando que a primeira ocorrência do caractere H no camposerver_protocolestá na posição 1.
Função substr
A função substr extrai uma substring de uma string a partir de uma posição especificada.
Sintaxe
-
Extrai uma substring de uma posição inicial especificada até o final da string.
substr(x, start) -
Extrai uma substring com comprimento especificado de uma string a partir de uma posição definida.
substr(x,start,length)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
String de source. Deve ser do tipo |
|
start |
Posição inicial baseada em 1 para extração. |
|
length |
Inteiro opcional especificando o número de caracteres a extrair. Se omitido, a função extrai todos os caracteres da posição |
Tipo de valor de retorno
varchar.
Exemplo
Extraia os primeiros 4 caracteres do valor do campo server_protocol (parte HTTP) e conte o número de solicitações HTTP.
-
Campo de amostra
server_protocol:HTTP/2.0 -
Instrução de consulta (Testar)
* | SELECT substr(server_protocol, 1, 4) AS protocol, count(*) AS count GROUP BY protocol Nos resultados da consulta e análise, o valor da coluna
protocoléHTTPe o valor da colunacounté9078.
Função to_utf8
Codifica uma string para representação binária UTF-8.
Sintaxe
to_utf8(x)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
String a codificar. Deve ser varchar. |
Tipo de valor de retorno
varbinary
Exemplo
Codifique a string 'log' para o formato UTF-8.
-
Instrução de consulta (Testar)
* | SELECT to_utf8('log') Nos resultados da consulta e análise, o valor da coluna
_col0ébG9n.
Função trim
Remove espaços à esquerda e à direita de uma string.
Sintaxe
trim(x)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
String de entrada. Deve ser varchar. |
Tipo de retorno
varchar
Exemplo
Remova os espaços à esquerda e à direita do valor do campo instance_id.
-
Campo de amostra
instance_id: i-01 -
Instrução de consulta e análise (Testar)
* | SELECT trim(instance_id) Resultados da consulta e análise: i-01
Função upper
Converte uma string para maiúsculas.
Sintaxe
upper(x)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
Valor do tipo varchar. |
Tipo de valor de retorno
varchar
Exemplo
Este exemplo converte o valor do campo region para maiúsculas.
-
Campo de amostra
region:cn-shanghai -
Instrução de consulta (Testar)
* | SELECT upper(region) O resultado da consulta e análise é
CN-SHANGHAI.
Função csv_extract_map
A função csv_extract_map analisa uma string CSV de linha única e retorna um mapa.
Sintaxe
csv_extract_map(x, delimiter, quote, keys)
Parâmetros
|
Parâmetro |
Descrição |
|
x |
String |
|
delimiter |
Caractere |
|
quote |
Caractere |
|
keys |
Array de strings definindo os nomes das chaves para os valores extraídos. O número de chaves deve corresponder ao número de valores na string CSV. Caso contrário, a função retorna null. |
Tipo de valor de retorno
map(varchar, varchar)
Exemplo
Este exemplo extrai informações CSV do campo content.
-
Campo de amostra
content: '192.168.0.100,"10/Jun/2019:11:32:16,127 +0800",example.aliyundoc.com' -
Instrução de consulta
select csv_extract_map(content, ',', '"', array['ip', 'time', 'host']) as item -
Dados de saída
A consulta retorna o seguinte registro JSON:
{"ip":"192.168.0.100","host":"example.aliyundoc.com","time":"10/Jun/2019:11:32:16,127 +0800"}.
Função ilike
Verifica se uma string corresponde a um padrão especificado, sem diferenciar maiúsculas de minúsculas.
Sintaxe
ilike(x, pattern)
Parâmetros
Parâmetro | Descrição |
x | String a avaliar. Deve ser do tipo varchar. |
pattern | Padrão de caracteres. Pode incluir os seguintes curingas:
|
Tipo de retorno
boolean
Exemplo
Este exemplo verifica se o valor de request_uri termina com file-6.
Campo de amostra
request_uri: '/request/path-2/File-6'
Instrução de consulta
select ilike(request_uri, '%file-6')
Resultados da consulta e análise
O resultado da consulta e análise é true, indicando que request_uri termina com file-6.
str_uuid
A função str_uuid() retorna um identificador aleatório de 128 bits como string.
Sintaxe
str_uuid()
Valor de retorno
Tipo de valor de retorno:
VARCHARFormato: String de 36 caracteres com 32 dígitos hexadecimais e 4 hifens
-.Estrutura:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Exemplo
Para gerar um grande lote de identificadores únicos em um ambiente de teste simulado:
* | extend uuid = str_uuid()
Função gzip_compress
A função gzip_compress comprime uma string usando o algoritmo GZIP e retorna dados binários comprimidos.
Sintaxe
-- Method 1: Default compression level (6)
gzip_compress(data)
-- Method 2: Specify compression level
gzip_compress(data, compression_level)
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
data |
VARCHAR |
String a comprimir. |
|
compression_level |
BIGINT |
Nível de compressão, inteiro opcional de 1 a 9. |
Valor de retorno
Tipo de valor de retorno:
VARBINARYDescrição: Dados binários comprimidos.
Exemplos
-
Exemplo 1: Compressão básica
* | extend compress_data = gzip_compress('Hello World') -
Exemplo 2: Obter compressão máxima para texto grande
Para maximizar a compressão de um log grande (dezenas de milhares de caracteres) e economizar espaço de armazenamento, use o nível
9:* | extend compress_data = gzip_compress('Hello World',9)
gzip_decompress
gzip_decompress descomprime dados binários comprimidos com GZIP (Varbinary) e retorna o conteúdo original em texto simples.
Sintaxe
gzip_decompress(binary_data)
Parâmetros
binary_data deve conter dados válidos comprimidos com GZIP, normalmente gerados pela função gzip_compress. Se a entrada não estiver no formato GZIP padrão, a função retorna NULL.
Valor de retorno
Tipo de valor de retorno:
VARCHARDescrição: Conteúdo original em texto simples após descompressão.
Exemplo
-
Pipeline simples de compressão e descompressão:
* | extend original_content = gzip_decompress(gzip_compress('Hello SLS!')) -- Output: "Hello SLS!"
Função search
A função search executa uma busca de texto completo em dados de log em uma instrução analítica SQL. Como função SQL padrão, suporta condições de consulta complexas, incluindo operações booleanas, consultas de campo, consultas difusas e consultas de intervalo.
Limitações
|
Limitação |
Descrição |
|
Limite por subconsulta |
Use apenas uma função |
|
Limite do operador OR |
A função |
|
Um índice é criado e não está no modo de varredura. |
A função search não é suportada no modo de varredura. |
|
Conflito de sintaxe de consulta |
Não use a função search quando a entrada de sintaxe de consulta contiver condições de filtro reais. Use esta função apenas quando a entrada de sintaxe de consulta estiver vazia ou for |
|
Tipo de parâmetro |
O parâmetro da função |
|
Número de parâmetros |
A função deve receber exatamente um parâmetro. |
Sintaxe
search(search_expression)
Uso em uma instrução analítica SQL:
* | SELECT ... FROM log WHERE search('search_expression')
Importante: A função search só pode ser usada na cláusula WHERE.
Parâmetros
|
Parâmetro |
Descrição |
|
search_expression |
A |
Tipo de valor de retorno
BOOLEAN. true indica que a linha atual corresponde à condição de consulta; false indica que não corresponde.
Exemplos
-
Exemplo 1: Encontre logs contendo tanto
errorquantotimeout.* | SELECT * FROM log WHERE search('error AND timeout') -
Exemplo 2: Encontre logs onde o campo
statusseja200.* | SELECT * FROM log WHERE search('status: 200') -
Exemplo 3: Combine a função
search()com um predicado SQL para encontrar logs ondestatusseja200erequest_timeseja maior que100.* | SELECT * FROM log WHERE search('status: 200') AND request_time > 100Para mais informações, consulte Usar a função search para realizar uma busca de texto completo.