Operadores lógicos y de comparación de AQL

Los operadores se utilizan en sentencias AQL para determinar cualquier igualdad o diferencia entre valores. Al utilizar operadores en la cláusula WHERE de una sentencia AQL, los resultados se filtran por los resultados que coinciden con las condiciones de la cláusula WHERE .

La tabla siguiente lista los operadores lógicos y de comparación soportados.
Tabla 1. Operadores lógicos y de comparación
Operador Descripción Ejemplo
* Multiplica dos valores y devuelve el resultado.
SELECT *
FROM flows 
WHERE sourceBytes * 1024 < 1 
= El operador Igual a compara dos valores y devuelve true si son iguales.
SELECT * 
FROM EVENTS
WHERE sourceIP = destinationIP 
!= Compara dos valores y devuelve true si son desiguales.
SELECT *
FROM events
WHERE sourceIP
!= destinationip
< AND <= Compara dos valores y devuelve true si el valor del lado izquierdo es menor o igual que el valor del lado derecho.
SELECT *
FROM flows 
WHERE sourceBytes < 64 
AND
destinationBytes <= 64  
> AND >= Compara dos valores y devuelve true si el valor del lado izquierdo es mayor o igual que el valor del lado derecho.
SELECT * 
FROM flows 
WHERE sourceBytes > 64 
AND
destinationBytes >= 64
/ Divide dos valores y devuelve el resultado.
SELECT * 
FROM flows 
WHERE sourceBytes / 8 > 64 
+ Añade dos valores y devuelve el resultado.
SELECT * 
FROM flows 
WHERE sourceBytes + 
destinationBytes < 64 
- Resta un valor de otro y devuelve el resultado.
SELECT * 
FROM flows 
WHERE sourceBytes - 
destinationBytes > 0
^ Obtiene un valor y lo eleva a la potencia especificada y devuelve el resultado.
SELECT * 
FROM flows 
WHERE sourceBytes ^ 2 < 256
% Toma el módulo de un valor y devuelve el resultado.
SELECT * 
FROM flows 
WHERE sourceBytes % 8 == 7
AND Toma el lado izquierdo y el lado derecho de una sentencia y devuelve true si ambos son verdaderos.
SELECT *
FROM events 
WHERE (sourceIP = destinationIP)
AND (sourcePort = destinationPort)
BETWEEN (X,Y) Toma un lado izquierdo y dos valores y devuelve true si el lado izquierdo está entre los dos valores.
SELECT * 
FROM events 
WHERE magnitude
BETWEEN 1 AND 5 
COLLATE Parámetro para ordenar por que permite que se clasifique una etiqueta de idioma BCP47 .
SELECT * 
FROM EVENTS ORDER BY
sourceIP DESC COLLATE 'de-CH' 
IN Especifica varios valores en una cláusula WHERE. El operador IN es una abreviatura para varias condiciones OR.
SELECT *
FROM EVENTS
WHERE SourceIP IN ('192.0.2.1', '::1', '198.51.100.0')
INTO Crea un cursor con nombre que contiene resultados que se pueden consultar en un momento diferente.
SELECT * FROM EVENTS INTO
 'MyCursor' WHERE....
NOT Toma una sentencia y devuelve true si la sentencia se evalúa como false.
SELECT * FROM EVENTS 
WHERE NOT 
(sourceIP = destinationIP) 
ILIKE Coincide si la serie pasada es LIKE el valor pasado y no distingue entre mayúsculas y minúsculas. Utilice % como comodín.
SELECT * 
FROM events WHERE userName 
ILIKE '%bob%' 
IMATCHES Coincide si la serie coincide con la expresión regular proporcionada y no distingue entre mayúsculas y minúsculas.
SELECT * 
FROM events 
WHERE userName
IMATCHES '^.bob.$' 
LIMIT Limita el número de resultados al número proporcionado.
SELECT * 
FROM events LIMIT 100 
START '2015-10-28 10:00' 
STOP '2015-10-28 11:00'
Nota: Coloque la cláusula LIMIT delante de una cláusula START y STOP .
LIKE Coincide si la serie pasada es LIKE el valor pasado pero es sensible a las mayúsculas y minúsculas. Utilice % como comodín.
SELECT * 
FROM events WHERE userName 
LIKE '%bob%' 
MATCHES Coincide si la serie coincide con la expresión regular proporcionada.
SELECT * 
FROM events 
WHERE userName MATCHES
'^.bob.$' 
NOT NULL Toma un valor y devuelve true si el valor no es nulo.
SELECT *
FROM events 
WHERE userName 
IS NOT NULL
OR Toma el lado izquierdo de una sentencia y el lado derecho de una sentencia y devuelve true si cualquiera de los dos lados es verdadero.
SELECT *
FROM events 
WHERE (sourceIP = destinationIP)
OR (sourcePort = destinationPort)
TEXT SEARCH

Búsqueda de texto completo para el valor pasado.

TEXT SEARCH es válido con operadores AND . No puede utilizar TEXT SEARCH con OR u otros operadores; de lo contrario, obtendrá un error de sintaxis.

Coloque TEXT SEARCH en la primera posición de la cláusula WHERE.

También puede realizar búsquedas de texto completo utilizando el filtro Rápido en la interfaz de usuario de QRadar® . Para obtener información sobre las funciones de filtro rápido, consulte la publicación IBM® QRadar Guía del usuario.

SELECT * 
FROM events 
WHERE TEXT SEARCH 'firewall'
AND sourceip='192.168.1.1' 

SELECT sourceip,url 
FROM events 
WHERE TEXT SEARCH 
'download.cdn.mozilla.net' 
AND sourceip='192.168.1.1' 
START '2015-01-30 16:10:12' 
STOP '2015-02-22 17:10:22'

Ejemplos de operadores lógicos y comparativos

  • Para buscar sucesos que no se han analizado, escriba la consulta siguiente:
    SELECT * FROM events 
    WHERE payload = 'false'
  • Para buscar sucesos que devuelven un delito y tienen una dirección IP de origen específica, escriba la consulta siguiente:
    SELECT * FROM events 
    WHERE sourceIP = '192.0.2.0' 
    AND
    hasOffense = 'true'
  • Para buscar sucesos que incluyan el texto "cortafuegos", escriba la consulta siguiente:
    SELECT QIDNAME(qid) 
    AS EventName, 
    * FROM events 
    WHERE TEXT SEARCH 'firewall'