Funciones de cálculo y formateo de datos de AQL
Utilice las funciones de cálculo y formateo de Ariel Query Language (AQL) en los resultados de búsqueda que se recuperan de las bases de datos de Ariel.
BASE64
- Finalidad
- Devuelve una serie codificada en Base64 que representa datos binarios.
- Ejemplo
SELECT BASE64(payload) FROM events
CONCAT
- Finalidad
- Concatena todas las series pasadas en una serie.
- Ejemplo
SELECT CONCAT(username, ':', sourceip, ':', destinationip) FROM events LIMIT 5
DATEFORMAT
- Finalidad
- Formatea la hora en milisegundos desde las 00:00:00 Hora Universal Coordinada (UTC) del 1 de enero de 1970 a un formato legible por el usuario.
- Ejemplos
SELECT DATEFORMAT(startTime, 'yyyy-MM-dd hh:mm:ss') AS StartTime FROM eventsSELECT DATEFORMAT(starttime,'yyyy-MM-dd hh:mm') AS 'Start Time', DATEFORMAT(endtime, 'yyyy-MM-dd hh:mm') AS Storage_time, QIDDESCRIPTION(qid) AS 'Event Name' FROM events
DOUBLE
- Finalidad
- Convierte un valor que representa un número en un doble.
- Ejemplo
DOUBLE('1234')
LONG
- Finalidad
- Convierte un valor que representa un número en un entero largo.
- Ejemplos
SELECT destinationip, LONG(SUM(sourcebytes+destinationbytes)) AS TotalBytes FROM flows GROUP BY sourceip
PARSEDATETIME
- Finalidad
- Pase un valor de tiempo al analizador, por ejemplo,
PARSEDATETIME('time reference'). La referencia de tiempo indica la hora de análisis para la consulta.
- Ejemplo
SELECT * FROM events START PARSEDATETIME('1 hour ago')
PARSETIMESTAMP
- Finalidad
- Analice la representación de texto de fecha y hora y conviértala en hora de época UNIX.
Por ejemplo, analice el siguiente formato de fecha de texto:
Thursday, August 24, 2017 3:30:32 PM GMT +01:00 y conviértalo a la siguiente indicación de fecha y hora de época: 1503588632.
- Ejemplo de cómo funciona la conversión de formato de hora
El ejemplo siguiente muestra cómo la función DATEFORMAT convierte la hora de época en una indicación de fecha y hora de texto utilizando el formato de fecha especificado y, a continuación, se utiliza la función PARSETIMESTAMP para convertir la indicación de fecha y hora de texto en un formato de hora de época.
SELECT starttime, DATEFORMAT(starttime,'EEE, MMM d, "yyyy"') AS "text time format", PARSETIMESTAMP('EEE, MMM d, "yyyy"', "text time format") AS 'epoch time returned' from events limit 5El ejemplo siguiente muestra un extracto de la salida de la consulta:
starttime text time format epoch time returned 1503920389888 Mon, M08 28, "2017" 1503920389888
- Ejemplo de cómo se puede utilizar PARSETIMESTAMP para convertir horas en tiempo de época para que se puedan realizar cálculos de tiempo.
En el ejemplo siguiente, se devuelven sucesos cuando la diferencia de tiempo entre las horas de cierre de sesión y de inicio de sesión es inferior a 1 hora.
El formato de hora EEE, d MMM yyyy HH:mm:ss.SSSZ es sólo un ejemplo de un formato de hora que puede utilizar, y my_login y my_logout son propiedades personalizadas en un formato de hora conocido, por ejemplo, EEE, MMM d, "yy".
SELECT * from events WHERE PARSETIMESTAMP('EEE, d MMM yyyy HH:mm:ss.SSSZ', my_logout) - PARSETIMESTAMP('EEE, d MMM yyyy HH:mm:ss.SSSZ', my_login) < 3600000 last 10 days
NOW
- Finalidad
- Devuelve la hora actual que se expresa en milisegundos desde las 00:00:00 Hora universal coordinada (UTC) del 1 de enero de 1970.
- Ejemplo
SELECT ASSETUSER(sourceip, NOW()) AS 'Asset user' FROM events
LOWER
- Finalidad
Devuelve una representación en minúsculas de una serie.
- Ejemplo
SELECT LOWER(username), LOWER(LOGSOURCENAME(logsourceid)) FROM events
REPLACEALL
- Finalidad
- Emparejar un regex y sustituir todas las sustituciones por texto.
- Ejemplo
REPLACEALL('\d{16}', username, 'censored')
REPLACEFIRST
- Finalidad
- Emparejamiento con un regex y sustitución de la primera coincidencia por texto.
- Ejemplo
REPLACEFIRST('\d{16}', username, 'censored')
STR
- Finalidad
- Convierte cualquier parámetro en una serie.
- Ejemplo
STR(sourceIP)
STRLEN
- Finalidad
- Devuelve la longitud de esta serie.
- Ejemplo
SELECT STRLEN(sourceIP), STRLEN(username) from events
STRPOS
- Finalidad
- Devuelve la posición (index-empieza en cero) de una serie en otra serie. Busca en la serie el índice de la subserie especificada. Opcionalmente, puede especificar un parámetro adicional para indicar en qué posición (índice) empezar a buscar el patrón especificado.
- Ejemplos
SELECT STRPOS(username, 'name') FROM events
SUBSTRING
- Finalidad
- Copia un rango de caracteres en una serie nueva.
- Ejemplos
SELECT SUBSTRING(userName, 0, 3) FROM events
UPPER
- Finalidad
- Devuelve una representación en mayúsculas de una serie.
- Ejemplo
SELECT UPPER(username), UPPER(LOGSOURCENAME(logsourceid)) FROM events
UTF8
- Finalidad
- Devuelve la serie UTF8 de una matriz de bytes.
- Ejemplo
SELECT UTF8(payload) FROM events WHERE sourceip='192.0.2.0'