Todos os produtos
Search
Central de documentação

Simple Log Service:Operadores de comparação

Última atualização: Jul 03, 2026

Os operadores de comparação avaliam valores de parâmetros em tipos de dados comparáveis, como double, bigint, varchar, timestamp e date. Este tópico descreve a sintaxe desses operadores e apresenta exemplos.

Operadores de comparação

O Log Service oferece suporte aos seguintes operadores de comparação.

Importante

Para usar strings em instruções analíticas, coloque-as entre aspas simples (''). Strings sem aspas ou entre aspas duplas ("") são interpretadas como nomes de campos ou colunas. Por exemplo:

'status'

representa a string status, enquanto

status

ou

"status"

indica o campo de log status.

Operador

Sintaxe

Descrição

SQL

SPL

Operadores relacionais

x < y

Retorna true se x for menor que y.

x > y

Retorna true se x for maior que y.

x <= y

Retorna true se x for menor ou igual a y.

x >= y

Retorna true se x for maior ou igual a y.

x = y

Retorna true se x for igual a y.

x <> y

Retorna true se x for diferente de y.

x != y

Retorna true se x for diferente de y.

Operador ALL

x operador relacional ALL(subconsulta)

Retorna true quando x satisfaz todas as condições.

×

Operador ANY

x operador relacional ANY(subconsulta)

Retorna true se x atender a qualquer uma das condições.

×

Operador BETWEEN

x BETWEEN y AND z

Retorna true se x estiver entre y e z, inclusive.

Operador DISTINCT

x IS DISTINCT FROM y

Retorna true se x for diferente de y. Ao contrário do operador <>, este operador retorna false se tanto x quanto y forem NULL.

×

x IS NOT DISTINCT FROM y

Retorna true se x for igual a y. Ao contrário do operador =, este operador retorna true se tanto x quanto y forem NULL.

×

Operador LIKE

x LIKE padrão [escape 'caractere_de_escape']

Verifica se uma string corresponde ao padrão especificado. Esta operação diferencia maiúsculas de minúsculas.

Operador SOME

x operador relacional SOME(subconsulta)

Retorna true se x satisfizer qualquer condição.

×

Operador GREATEST

GREATEST(x, y...)

Encontra o valor máximo entre x e y.

×

Operador LEAST

LEAST(x, y...)

Encontra o valor mínimo entre x e y.

×

Operador NULL

x IS NULL

Retorna true se x for NULL.

x IS NOT NULL

Retorna true se x não for NULL.

Operadores relacionais

Os operadores relacionais comparam os valores de x e y. O operador retorna true se a condição for atendida.

  • Sintaxe

    Sintaxe

    Descrição

    x < y

    Retorna true se x for menor que y.

    x > y

    Retorna true se x for maior que y.

    x <= y

    Retorna true se x for menor ou igual a y.

    x >= y

    Retorna true se x for maior ou igual a y.

    x = y

    Retorna true se x for igual a y.

    x <> y

    Retorna true se x for diferente de y.

    x != y

    Retorna true se x for diferente de y.

  • Parâmetros

    Parâmetro

    Descrição

    x

    Uma expressão de qualquer tipo de dado comparável.

    y

    Uma expressão de qualquer tipo de dado comparável.

  • Tipo de valor de retorno

    boolean

  • Exemplos

    • Exemplo 1: Consultar logs do dia anterior.

      • Instrução de consulta

        * |
        SELECT
          *
        FROM  log
        WHERE
          __time__ < to_unixtime(current_date)
          AND __time__ > to_unixtime(date_add('day', -1, current_date))
      • Resultados da consulta: A consulta retorna vários campos de log, incluindo body_bytes_sent, client_ip, host, http_user_agent, http_x_forwarded_for, instance_id, instance_name, network_type, owner_id e referer. Esses campos fornecem detalhes de cada registro de acesso, como tamanho do corpo da solicitação, endereço IP do cliente, nome de domínio acessado, User-Agent, ID da instância, nome da instância e tipo de rede.

    • Exemplo 2: Para identificar clientes cuja localização do número de telefone difere da localização do IP de acesso, uma empresa de e-commerce consulta os campos mobile e client_ip em seus logs de acesso.

      • Valores de campo de exemplo

        mobile:1881111****
        client_ip:192.168.2.0
      • Instrução de consulta

        * |
        SELECT
          mobile,
          client_ip,
          count(*) AS PV
        WHERE
          mobile_city(mobile) != ip_to_city(client_ip)
          AND ip_to_city(client_ip) != ''
        GROUP BY
          client_ip,
          mobile
        ORDER BY
          PV DESC
      • Resultados da consulta: A consulta retorna dois registros. As informações confidenciais nas colunas mobile e client_ip estão mascaradas. Os valores correspondentes de PV são 13 e 12.

Operador ALL

O operador ALL compara um valor, x, com todos os valores no conjunto de resultados de uma subconsulta. Ele retorna true se a comparação for verdadeira para cada valor do conjunto.

  • Sintaxe

    x relational operator ALL(subquery)
  • Parâmetros

    Parâmetro

    Descrição

    x

    Um valor de qualquer tipo de dado comparável.

    operador de comparação

    <, >, <=, >=, =, <>, !=

    Importante

    O operador ALL deve seguir imediatamente um operador básico (<, >, <=, >=, =, <>, !=).

    subconsulta

    Uma subconsulta SQL.

  • Tipo de valor de retorno

    Booleano.

  • Exemplos

    Este exemplo verifica se todas as solicitações da instância 'i-01' têm código de status 200.

    • Log de exemplo

      instance_id:i-01
      status:200
    • Instrução de consulta e análise

      * | select 200 = ALL(select status where instance_id='i-01')
    • Os resultados da consulta e análise mostram _col0 como false. Isso significa que nem todos os logs da instância 'i-01' têm status 200.

Operador ANY

O operador ANY compara um valor x com um conjunto de valores retornado por uma subconsulta. Ele retorna true se a comparação for verdadeira para pelo menos um valor do conjunto.

  • Sintaxe

    x relational operator ANY(subquery)
  • Parâmetros

    Parâmetro

    Descrição

    x

    Uma expressão de qualquer tipo de dado comparável.

    operador relacional

    <, >, <=, >=, =, <> ou !=

    Importante

    Um operador relacional deve preceder o operador ANY.

    subconsulta

    Uma subconsulta que retorna uma única coluna de valores. O tipo de dado da coluna deve corresponder ao tipo de dado da expressão x.

  • Tipo de valor de retorno

    boolean

  • Exemplos

    Verificar se alguma solicitação da instância i-01 tem código de status 200.

    • Campos de exemplo

      instance_id:i-01
      status:200
    • Instrução de consulta

      * | SELECT 200 = ANY(SELECT status WHERE instance_id='i-01')
    • A consulta retorna a coluna _col0 com valor true, indicando que a condição foi atendida.

Operador BETWEEN

BETWEEN determina se x está entre y e z. Em caso afirmativo, retorna true. O intervalo entre y e z é fechado.

  • Sintaxe

    x BETWEEN y AND z
  • Parâmetros

    Parâmetro

    Descrição

    x

    Uma expressão de qualquer tipo de dado comparável.

    y

    Uma expressão de qualquer tipo de dado comparável.

    z

    Uma expressão de qualquer tipo de dado comparável.

    Importante
    • Os tipos de dado de x, y e z devem ser iguais.

    • Se o valor de x, y ou z for null, o resultado será null.

  • Tipo de valor de retorno

    Booleano

  • Exemplos

    • Exemplo 1: Verificar se o valor do campo status está no intervalo [200, 299].

      • Instrução de consulta

        * | SELECT status BETWEEN 200 AND 299
      • Resultados da consulta e análise: A consulta retorna três linhas na coluna _col0, e o valor em cada linha é true. Isso indica que o valor do campo status para cada log correspondente está entre 200 e 299.

    • Exemplo 2: Contar os logs em que o valor do campo status não está no intervalo [200, 299].

      • Instrução de consulta

        * | SELECT count(*) AS count FROM log WHERE status NOT BETWEEN 200 AND 299
      • Resultados da consulta e análise: A consulta retorna uma contagem de 250.

Operador DISTINCT

O operador DISTINCT compara dois valores, x e y, e trata corretamente valores NULL.

  • Sintaxe

    • IS DISTINCT FROM retorna true se x for diferente de y.

      x IS DISTINCT FROM y
    • IS NOT DISTINCT FROM retorna true se x for igual a y.

      x IS NOT DISTINCT FROM y
  • Parâmetros

    Parâmetro

    Descrição

    x

    Uma expressão de um tipo de dado comparável.

    y

    Uma expressão de um tipo de dado comparável.

Diferentemente dos operadores básicos (= e <>), o operador DISTINCT trata valores NULL corretamente.

x

y

x = y

x <> y

x IS DISTINCT FROM y

x IS NOT DISTINCT FROM y

1

1

true

false

false

true

1

2

false

true

true

false

1

null

null

null

true

false

null

null

null

null

false

true

  • Tipo de valor de retorno

    Booleano.

  • Exemplos

    Comparar 0 com null.

    • Instrução de consulta

      * | select 0 IS DISTINCT FROM null
    • O resultado da consulta é true, indicando que 0 e null são distintos.

Operador LIKE

O operador LIKE verifica se uma string corresponde a um padrão de caracteres especificado. Esta operação diferencia maiúsculas de minúsculas.

  • Sintaxe

    x LIKE pattern [escape 'escape_character']
  • Parâmetros

    Parâmetro

    Descrição

    x

    Uma expressão de qualquer tipo de dado comparável.

    padrão

    O padrão de caracteres a ser pesquisado, que pode incluir strings e caracteres curinga. Os seguintes caracteres curinga são suportados:

    • Sinal de porcentagem (%): Corresponde a qualquer string com zero ou mais caracteres.

    • Sublinhado (_): Corresponde a qualquer caractere único.

    caractere_de_escape

    Um caractere usado para escapar caracteres curinga no padrão de caracteres.

    Nota

    O operador LIKE é usado principalmente para consultas de correspondência de padrões em logs. Para mais informações, consulte Como realizar uma consulta de correspondência exata.

  • Tipo de valor de retorno

    boolean

  • Exemplos

    SQL

    • Exemplo 1: Consultar logs em que o valor do campo request_uri termina com file-8 ou file-6.

      • Campo de exemplo

        request_uri:/request/path-2/file-6
      • Instrução de consulta e análise

        *|SELECT * WHERE request_uri LIKE '%file-8' OR request_uri LIKE '%file-6'
      • Resultados da consulta e análise: Esta consulta retorna registros de log em que o campo request_uri termina com file-8 ou file-6. Cada registro inclui campos como remote_addr, remote_user, request_length, request_method, request_time, request_uri, scheme, server_protocol, slbid, status e time_local.

    • Exemplo 2: Verificar se o valor do campo request_uri termina com file-6.

      • Campo de exemplo

        request_uri:/request/path-2/file-6
      • Instrução de consulta e análise

        * | SELECT request_uri LIKE '%file-6'
      • A consulta retorna a coluna _col0 com valor true. Isso indica que o valor de request_uri corresponde ao padrão %file-6.

    SPL

    • Exemplo 1: Consultar logs em que o valor do campo request_uri termina com file-8 ou file-6.

      • Campo de exemplo

    request_uri:/request/path-2/file-6
    • Instrução SPL

    *|WHERE request_uri LIKE '%file-8' OR request_uri LIKE '%file-6'
    • Resultados SPL

    A consulta retorna todas as entradas de log em que o valor do campo request_uri termina com file-8 ou file-6.

    • Exemplo 2: Verificar se o valor do campo request_uri termina com file-6.

      • Campo de exemplo

    request_uri:/request/path-2/file-6
    • Instrução SPL

    * | extend a = request_uri LIKE '%file-6'
    • Resultados SPL

    Os resultados da consulta incluem um novo campo, a, com valor true. Isso indica que o valor do campo request_uri na entrada de log termina com file-6.

Operador SOME

O operador SOME compara um valor x com o conjunto de valores retornado por uma subconsulta. O operador retorna true se a comparação for verdadeira para qualquer valor do conjunto.

  • Sintaxe

    x relational operator SOME(subquery)
  • Parâmetros

    Parâmetro

    Descrição

    x

    Uma expressão de qualquer tipo de dado comparável.

    operador relacional

    <, >, <=, >=, =, <>, !=

    Importante

    O operador SOME deve seguir imediatamente um operador relacional (<, >, <=, >=, =, <> ou !=).

    subconsulta

    Uma subconsulta que retorna uma única coluna de valores. O tipo de dado da coluna deve ser igual ao tipo de dado da expressão x.

  • Tipo de valor de retorno

    Booleano.

  • Exemplos

    Verificar se alguma solicitação relacionada à instância i-01 tem tempo de solicitação inferior a 20 segundos.

    • Campos de exemplo

      instance_id:i-01
      request_time:16
    • Instrução de consulta

      * | SELECT 20 > SOME(SELECT request_time WHERE instance_id='i-01')
    • Resultados da consulta

Operador GREATEST

O operador GREATEST retorna o valor máximo entre x e y.

Nota

O operador GREATEST é usado para comparação horizontal, enquanto a função max é usada para comparação vertical.

  • Sintaxe

    GREATEST(x, y...)
  • Parâmetros

    Parâmetro

    Descrição

    x

    Uma expressão de um tipo de dado comparável.

    y

    Uma expressão de um tipo de dado comparável.

  • Tipo de valor de retorno

    double

  • Exemplos

    Comparar os valores dos campos request_time e status na mesma linha para encontrar o maior valor.

    • Campos de exemplo

      request_time:38
      status:200
    • Instrução de pesquisa e análise

      * |  SELECT GREATEST(request_time,status)
    • Os resultados da consulta e análise incluem a coluna _col0 com valor 200.0, que é o maior entre request_time (38) e status (200).

Operador LEAST

O operador LEAST retorna o valor mínimo entre x e y.

Nota

O operador LEAST é usado para comparação horizontal, enquanto a função min é usada para comparação vertical.

  • Sintaxe

    LEAST(x, y...)
  • Parâmetros

    Parâmetro

    Descrição

    x

    O valor a ser comparado. Pode ser de qualquer tipo de dado comparável.

    y

    O valor a ser comparado. Pode ser de qualquer tipo de dado comparável.

  • Tipo de valor de retorno

    double

  • Exemplos

    Comparar o valor do campo request_time e o valor do campo status na mesma linha para obter o valor mínimo.

    • Campos de exemplo

      request_time:77
      status:200
    • Instrução de consulta e análise

      * |  SELECT LEAST(request_time,status)
    • Resultados da consulta e análise

      A consulta retorna 77.

Operador Null

O operador null verifica se x é null.

  • Sintaxe

    • IS NULL: Retorna true se a expressão for null.

      x IS NULL
    • IS NOT NULL: Retorna true se a expressão não for null.

      x IS NOT NULL
  • Parâmetros

    Parâmetro

    Descrição

    x

    Uma expressão de qualquer tipo de dado comparável.

  • Tipo de valor de retorno

    Booleano.

  • Exemplos

    • Exemplo 1: Verificar se o valor do campo status é null.

      • Instrução de consulta

        * | select status IS NULL
      • Resultados da consulta e análise: A consulta retorna a coluna _col0. Ambas as linhas contêm o valor false, indicando que o campo status não é null.

    • Exemplo 2: Contar entradas de log em que o campo status não é null.

      • Instrução de consulta

        * | SELECT count(*) AS count FROM log WHERE status IS NOT NULL
      • Resultados da consulta e análise: A consulta retorna uma contagem de 1340.