Todos los productos
Search
Centro de documentos

Simple Log Service:Operadores de comparación

Última actualización: Sep 02, 2026

Los operadores de comparación comparan valores de parámetros para tipos de datos comparables como double, bigint, varchar, timestamp y date. Este tema describe su sintaxis y proporciona ejemplos.

Operadores de comparación

Log Service admite los siguientes operadores de comparación.

Importante

Si desea utilizar cadenas en instrucciones analíticas, debe encerrarlas entre comillas simples (''). Las cadenas que no están encerradas o que están entre comillas dobles ("") indican nombres de campo o de columna. Por ejemplo,

'status'

indica la cadena status, mientras que

status

o

"status"

indican el campo de registro status.

Operador

Sintaxis

Descripción

SQL

SPL

Relational operators

x < y

Devuelve true si x es menor que y.

√

√

x > y

Devuelve true si x es mayor que y.

√

√

x <= y

Devuelve true si x es menor o igual que y.

√

√

x >= y

Devuelve true si x es mayor o igual que y.

√

√

x = y

Devuelve true si x es igual a y.

√

√

x <> y

Devuelve true si x no es igual a y.

√

√

x != y

Devuelve true si x no es igual a y.

√

√

ALL operator

x operador relacional ALL(subconsulta)

Devuelve true cuando x cumple todas las condiciones.

√

×

ANY operator

x operador relacional ANY(subconsulta)

Devuelve true si x cumple alguna de las condiciones.

√

×

BETWEEN operator

x BETWEEN y AND z

Devuelve true si x está entre y y z, inclusive.

√

√

DISTINCT operator

x IS DISTINCT FROM y

Devuelve true si x no es igual a y. A diferencia del operador <>, este operador devuelve false si tanto x como y son NULL.

√

×

x IS NOT DISTINCT FROM y

Devuelve true si x es igual a y. A diferencia del operador =, este operador devuelve true si tanto x como y son NULL.

√

×

LIKE operator

x LIKE patrón [escape 'carácter_de_escape']

Comprueba si una cadena coincide con el patrón especificado. Esta operación distingue entre mayúsculas y minúsculas.

√

√

SOME operator

x operador relacional SOME(subconsulta)

Devuelve true si x cumple alguna condición.

√

×

GREATEST operator

GREATEST(x, y...)

Encuentra el valor máximo de x y y.

√

×

LEAST operator

LEAST(x, y...)

Encuentra el valor mínimo de x y y.

√

×

NULL operator

x IS NULL

Devuelve true si x es NULL.

√

√

x IS NOT NULL

Devuelve true si x no es NULL.

√

√

Operadores relacionales

Los operadores relacionales comparan los valores de x y y. Un operador devuelve true si se cumple su condición.

  • Sintaxis

    Sintaxis

    Descripción

    x < y

    Devuelve true si x es menor que y.

    x > y

    Devuelve true si x es mayor que y.

    x <= y

    Devuelve true si x es menor o igual que y.

    x >= y

    Devuelve true si x es mayor o igual que y.

    x = y

    Devuelve true si x es igual a y.

    x <> y

    Devuelve true si x no es igual a y.

    x != y

    Devuelve true si x no es igual a y.

  • Parámetros

    Parámetro

    Descripción

    x

    Una expresión de cualquier tipo de datos comparable.

    y

    Una expresión de cualquier tipo de datos comparable.

  • Tipo de valor devuelto

    boolean

  • Ejemplos

    • Ejemplo 1: Consultar registros del día anterior.

      • Instrucción de consulta

        * |
        SELECT
          *
        FROM  log
        WHERE
          __time__ < to_unixtime(current_date)
          AND __time__ > to_unixtime(date_add('day', -1, current_date))
      • Resultados de la consulta: La consulta devuelve varios campos de registro, incluidos body_bytes_sent, client_ip, host, http_user_agent, http_x_forwarded_for, instance_id, instance_name, network_type, owner_id y referer. Estos campos proporcionan detalles para cada registro de acceso, como el tamaño del cuerpo de la solicitud, la dirección IP del cliente, el nombre de dominio accedido, el User-Agent, el ID de instancia, el nombre de la instancia y el tipo de red.

    • Ejemplo 2: Para encontrar clientes cuya ubicación de número telefónico difiere de la ubicación de su IP de acceso, una empresa de comercio electrónico consulta los campos mobile y client_ip en sus registros de acceso.

      • Valores de campo de muestra

        mobile:1881111****
        client_ip:192.168.2.0
      • Instrucción 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 de la consulta: La consulta devuelve dos registros. La información sensible en las columnas mobile y client_ip está enmascarada. Los valores correspondientes de PV son 13 y 12.

Operador ALL

El operador ALL compara un valor, x, con todos los valores en el conjunto de resultados de una subconsulta. Devuelve true si la comparación es verdadera para cada valor del conjunto.

  • Sintaxis

    x relational operator ALL(subquery)
  • Parámetros

    Parámetro

    Descripción

    x

    Un valor de cualquier tipo de datos comparable.

    operador de comparación

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

    Importante

    El operador ALL debe seguir inmediatamente a un operador básico (<, >, <=, >=, =, <>, !=).

    subconsulta

    Una subconsulta SQL.

  • Tipo de valor devuelto

    Tipo booleano.

  • Ejemplos

    Este ejemplo comprueba si todas las solicitudes para la instancia 'i-01' tienen un código de estado 200.

    • Registro de muestra

      instance_id:i-01
      status:200
    • Instrucción de consulta y análisis

      * | select 200 = ALL(select status where instance_id='i-01')
    • Los resultados de la consulta y el análisis muestran _col0 como false. Esto significa que no todos los registros de la instancia 'i-01' tienen un estado de 200.

Operador ANY

El operador ANY compara un valor x con un conjunto de valores devueltos por una subconsulta. Devuelve true si la comparación es verdadera para al menos un valor del conjunto.

  • Sintaxis

    x relational operator ANY(subquery)
  • Parámetros

    Parámetro

    Descripción

    x

    Una expresión de cualquier tipo de datos comparable.

    operador relacional

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

    Importante

    Un operador relacional debe preceder al operador ANY.

    subconsulta

    Una subconsulta que devuelve una sola columna de valores. El tipo de datos de la columna debe coincidir con el tipo de datos de la expresión x.

  • Tipo de valor devuelto

    boolean

  • Ejemplos

    Comprobar si alguna solicitud para la instancia i-01 tiene un código de estado 200.

    • Campos de muestra

      instance_id:i-01
      status:200
    • Instrucción de consulta

      * | SELECT 200 = ANY(SELECT status WHERE instance_id='i-01')
    • La consulta devuelve la columna _col0 con un valor de true, lo que indica que se cumple la condición.

Operador BETWEEN

BETWEEN se utiliza para determinar si x está entre y y z. Si es así, devuelve true. El rango entre y y z es un intervalo cerrado.

  • Sintaxis

    x BETWEEN y AND z
  • Parámetros

    Parámetro

    Descripción

    x

    Una expresión de cualquier tipo de datos comparable.

    y

    Una expresión de cualquier tipo de datos comparable.

    z

    Una expresión de cualquier tipo de datos comparable.

    Importante
    • Los tipos de datos de x, y y z deben ser iguales.

    • Si el valor de x, y o z es null, el resultado es null.

  • Tipo de valor devuelto

    Boolean

  • Ejemplos

    • Ejemplo 1: Comprobar si el valor del campo status está dentro del rango [200, 299].

      • Instrucción de consulta

        * | SELECT status BETWEEN 200 AND 299
      • Resultados de la consulta y el análisis: La consulta devuelve tres filas en la columna _col0, y el valor en cada fila es true. Esto indica que el valor del campo status para cada registro correspondiente está entre 200 y 299.

    • Ejemplo 2: Contar los registros donde el valor del campo status no está dentro del rango [200, 299].

      • Instrucción de consulta

        * | SELECT count(*) AS count FROM log WHERE status NOT BETWEEN 200 AND 299
      • Resultados de la consulta y el análisis: La consulta devuelve un recuento de 250.

Operador DISTINCT

El operador DISTINCT compara dos valores, x y y, y maneja correctamente los valores NULL.

  • Sintaxis

    • IS DISTINCT FROM devuelve true si x no es igual a y.

      x IS DISTINCT FROM y
    • IS NOT DISTINCT FROM devuelve true si x es igual a y.

      x IS NOT DISTINCT FROM y
  • Parámetros

    Parámetro

    Descripción

    x

    Una expresión de un tipo de datos comparable.

    y

    Una expresión de un tipo de datos comparable.

A diferencia de los operadores básicos (= y <>), el operador DISTINCT maneja correctamente los valores NULL.

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 devuelto

    Boolean.

  • Ejemplos

    Comparar 0 con null.

    • Instrucción de consulta

      * | select 0 IS DISTINCT FROM null
    • El resultado de la consulta es true, lo que indica que 0 y null son distintos.

Operador LIKE

El operador LIKE comprueba si una cadena coincide con un patrón de caracteres especificado. Esta operación distingue entre mayúsculas y minúsculas.

  • Sintaxis

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

    Parámetro

    Descripción

    x

    Una expresión de cualquier tipo de datos comparable.

    patrón

    El patrón de caracteres que se va a buscar, que puede incluir cadenas y caracteres comodín. Se admiten los siguientes caracteres comodín:

    • Signo de porcentaje (%): Coincide con cualquier cadena de cero o más caracteres.

    • Guion bajo (_): Coincide con cualquier carácter individual.

    carácter_de_escape

    Un carácter utilizado para escapar caracteres comodín en el patrón de caracteres.

    Nota

    El operador LIKE se utiliza principalmente para consultas de coincidencia de patrones en registros. Para obtener más información, consulte How to perform an exact match query.

  • Tipo de valor devuelto

    boolean

  • Ejemplos

    SQL

    • Ejemplo 1: Consulta registros donde el valor del campo request_uri termina con file-8 o file-6.

      • Campo de muestra

        request_uri:/request/path-2/file-6
      • Instrucción de consulta y análisis

        *|SELECT * WHERE request_uri LIKE '%file-8' OR request_uri LIKE '%file-6'
      • Resultados de la consulta y el análisis: Esta consulta devuelve registros donde el campo request_uri termina con file-8 o file-6. Cada registro incluye campos como remote_addr, remote_user, request_length, request_method, request_time, request_uri, scheme, server_protocol, slbid, status y time_local.

    • Ejemplo 2: Comprobar si el valor del campo request_uri termina con file-6.

      • Campo de muestra

        request_uri:/request/path-2/file-6
      • Instrucción de consulta y análisis

        * | SELECT request_uri LIKE '%file-6'
      • La consulta devuelve la columna _col0 con un valor de true. Esto indica que el valor de request_uri coincide con el patrón %file-6.

    SPL

    • Ejemplo 1: Consulta registros donde el valor del campo request_uri termina con file-8 o file-6.

      • Campo de muestra

    request_uri:/request/path-2/file-6
    • Instrucción SPL

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

    La consulta devuelve todas las entradas de registro donde el valor del campo request_uri termina con file-8 o file-6.

    • Ejemplo 2: Comprobar si el valor del campo request_uri termina con file-6.

      • Campo de muestra

    request_uri:/request/path-2/file-6
    • Instrucción SPL

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

    Los resultados de la consulta incluyen un nuevo campo, a, con un valor de true. Esto indica que el valor del campo request_uri en la entrada de registro termina con file-6.

Operador SOME

El operador SOME compara un valor x con el conjunto de valores devueltos por una subconsulta. El operador devuelve true si la comparación es verdadera para cualquier valor del conjunto.

  • Sintaxis

    x relational operator SOME(subquery)
  • Parámetros

    Parámetro

    Descripción

    x

    Una expresión de cualquier tipo de datos comparable.

    operador relacional

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

    Importante

    El operador SOME debe seguir inmediatamente a un operador relacional (<, >, <=, >=, =, <>, o !=).

    subconsulta

    Una subconsulta que devuelve una sola columna de valores. El tipo de datos de la columna debe ser el mismo que el tipo de datos de la expresión x.

  • Tipo de valor devuelto

    Tipo booleano.

  • Ejemplos

    Comprobar si alguna solicitud relacionada con la instancia i-01 tiene un tiempo de solicitud menor a 20 segundos.

    • Campos de muestra

      instance_id:i-01
      request_time:16
    • Instrucción de consulta

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

Operador GREATEST

El operador GREATEST devuelve el valor máximo de x y y.

Nota

El operador GREATEST se utiliza para comparaciones horizontales, mientras que la función max se utiliza para comparaciones verticales.

  • Sintaxis

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

    Parámetro

    Descripción

    x

    Una expresión de un tipo de datos comparable.

    y

    Una expresión de un tipo de datos comparable.

  • Tipo de valor devuelto

    double

  • Ejemplos

    Compare los valores de los campos request_time y status en la misma fila para encontrar el valor más grande.

    • Campos de muestra

      request_time:38
      status:200
    • Instrucción de búsqueda y análisis

      * |  SELECT GREATEST(request_time,status)
    • Los resultados de la consulta y el análisis incluyen la columna _col0 con un valor de 200.0, que es el mayor entre request_time (38) y status (200).

Operador LEAST

El operador LEAST devuelve el valor mínimo de x y y.

Nota

El operador LEAST se utiliza para comparaciones horizontales, mientras que la función min se utiliza para comparaciones verticales.

  • Sintaxis

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

    Parámetro

    Descripción

    x

    El valor a comparar. Puede ser de cualquier tipo de datos comparable.

    y

    El valor a comparar. Puede ser de cualquier tipo de datos comparable.

  • Tipo de valor devuelto

    double

  • Ejemplos

    Compare el valor del campo request_time y el valor del campo status en la misma fila para obtener el valor mínimo.

    • Campos de muestra

      request_time:77
      status:200
    • Instrucción de consulta y análisis

      * |  SELECT LEAST(request_time,status)
    • Resultados de la consulta y el análisis

      La consulta devuelve 77.

Operador nulo

El operador nulo comprueba si x es nulo.

  • Sintaxis

    • IS NULL: Devuelve verdadero si la expresión es nula.

      x IS NULL
    • IS NOT NULL: Devuelve verdadero si la expresión no es nula.

      x IS NOT NULL
  • Parámetros

    Parámetro

    Descripción

    x

    Una expresión de cualquier tipo de datos comparable.

  • Tipo de valor devuelto

    Tipo booleano.

  • Ejemplos

    • Ejemplo 1: Comprobar si el valor del campo status es nulo.

      • Instrucción de consulta

        * | select status IS NULL
      • Resultados de la consulta y el análisis: La consulta devuelve la columna _col0. Ambas filas contienen el valor false, lo que indica que el campo status no es nulo.

    • Ejemplo 2: Contar las entradas de registro donde el campo status no es nulo.

      • Instrucción de consulta

        * | SELECT count(*) AS count FROM log WHERE status IS NOT NULL
      • Resultados de la consulta y el análisis: La consulta devuelve un recuento de 1340.