Simple Log Service proporciona funciones de hora, funciones de extracción de fecha y hora, funciones de intervalo de tiempo y funciones de relleno de series de tiempo. Estas funciones permiten aplicar operaciones de fecha y hora a los registros, como la conversión de formatos, la agrupación y la agregación. En este tema se describe la sintaxis de estas funciones y se incluyen ejemplos de uso.
Funciones de fecha y hora
Log Service admite las siguientes funciones de fecha y hora.
Cuando configure la hora format, especifíquela únicamente hasta los segundos. No incluya milisegundos ni microsegundos.
Solo es necesario configurar el formato de hora (format) para la parte correspondiente a la hora dentro de la cadena de tiempo. No se requiere un formato de hora para otros elementos, como la zona horaria.
Cada registro en Log Service contiene el campo reservado
__time__. El valor de este campo es una marca de tiempo UNIX, por ejemplo, 1592374067, que representa 2020-06-17 14:07:47.En las instrucciones de análisis de Log Service, las cadenas deben ir entre comillas simples ('). Los caracteres sin comillas o entre comillas dobles (") representan un nombre de campo o de columna. Por ejemplo,
'status'representa la cadena status, mientras questatuso"status"representa el campo de registro status.
|
Tipo de función |
Nombre de la función |
Sintaxis |
Descripción |
SQL |
SPL |
|
Funciones de fecha y hora |
current_date |
Devuelve la fecha actual. |
√ |
× |
|
|
current_time |
Devuelve la hora y la zona horaria actuales. |
√ |
× |
||
|
current_timestamp |
Devuelve la fecha, la hora y la zona horaria actuales. |
√ |
× |
||
|
current_timezone() |
Devuelve la zona horaria actual. |
√ |
× |
||
|
date(x) |
Devuelve la parte de fecha de una expresión de fecha o de marca de tiempo. |
√ |
× |
||
|
date_format(x, format) |
Convierte una expresión de marca de tiempo en una cadena con el formato especificado. |
√ |
√ |
||
|
date_parse(x, format) |
Analiza sintácticamente una expresión de cadena y la convierte en una marca de tiempo mediante el formato especificado. |
√ |
√ |
||
|
from_iso8601_date(x) |
Convierte una cadena de fecha ISO 8601 en un valor de fecha. |
√ |
× |
||
|
from_iso8601_timestamp(x) |
Convierte una cadena de marca de tiempo ISO 8601 en un valor de marca de tiempo. |
√ |
× |
||
|
from_unixtime(x) |
Convierte una marca de tiempo UNIX en un valor de marca de tiempo sin información de zona horaria. |
√ |
√ |
||
|
from_unixtime(x, time zone) |
Convierte una marca de tiempo UNIX en un valor de marca de tiempo con la zona horaria especificada. |
√ |
× |
||
|
from_unixtime(x, hours, minutes) |
Convierte una marca de tiempo UNIX en un valor de marca de tiempo con el desplazamiento indicado en hours y minutes. |
√ |
× |
||
|
localtime |
Devuelve la hora local. |
√ |
× |
||
|
localtimestamp |
Devuelve la fecha y la hora locales. |
√ |
× |
||
|
now() |
Devuelve la fecha y la hora actuales. La función now es un alias de la función current_timestamp. |
√ |
× |
||
|
to_iso8601(x) |
Convierte una expresión de fecha o de marca de tiempo en una cadena con formato ISO 8601. |
√ |
× |
||
|
to_unixtime(x) |
Convierte una expresión de marca de tiempo en una marca de tiempo UNIX. |
√ |
√ |
||
|
current_unixtimestamp() |
Devuelve la marca de tiempo UNIX actual del sistema. |
× |
√ |
||
|
Funciones de extracción de fecha y hora |
day(x) |
Extrae el día del mes de una expresión de fecha o de marca de tiempo. La función day es un alias de la función day_of_month. |
√ |
× |
|
|
day_of_month(x) |
Extrae el día del mes de una expresión de fecha o de marca de tiempo. La función day_of_month es un alias de la función day. |
√ |
× |
||
|
day_of_week(x) |
Extrae el día de la semana de una expresión de fecha o de marca de tiempo. La función day_of_week es un alias de la función dow. |
√ |
√ |
||
|
day_of_year(x) |
Extrae el día del año de una expresión de fecha o de marca de tiempo. La función day_of_year es un alias de la función doy. |
√ |
√ |
||
|
dow(x) |
Extrae el día de la semana de una expresión de fecha o de marca de tiempo. La función dow es un alias de la función day_of_week. |
√ |
√ |
||
|
doy(x) |
Extrae el día del año de una expresión de fecha o de marca de tiempo. La función doy es un alias de la función day_of_year. |
√ |
√ |
||
|
extract(field from x) |
Extrae una parte, como un componente de fecha u hora, de una expresión de fecha o de marca de tiempo según lo indicado por field. |
√ |
× |
||
|
hour(x) |
Extrae la hora del día (en formato de 24 horas) de una expresión de fecha o de marca de tiempo. |
√ |
√ |
||
|
minute(x) |
Extrae el minuto de la hora de una expresión de fecha o de marca de tiempo. |
√ |
√ |
||
|
month(x) |
Extrae el mes del año de una expresión de fecha o de marca de tiempo. |
√ |
√ |
||
|
quarter(x) |
Devuelve el trimestre del año de una expresión de fecha o de marca de tiempo. |
√ |
√ |
||
|
second(x) |
Extrae el segundo del minuto de una expresión de fecha o de marca de tiempo. |
√ |
√ |
||
|
timezone_hour(x) |
Devuelve el componente de hora del desplazamiento de la zona horaria. |
√ |
× |
||
|
timezone_minute(x) |
Devuelve el componente de minuto del desplazamiento de la zona horaria. |
√ |
× |
||
|
week(x) |
Devuelve la semana del año de una expresión de fecha o de marca de tiempo. La función week es un alias de la función week_of_year. |
√ |
× |
||
|
week_of_year(x) |
Devuelve la semana del año correspondiente a una fecha determinada. La función week_of_year es un alias de la función week. |
√ |
× |
||
|
year(x) |
Extrae el año de una expresión de fecha o de marca de tiempo. |
√ |
√ |
||
|
year_of_week(x) |
Extrae el año de numeración de semanas ISO de una expresión de fecha o de marca de tiempo. La función year_of_week es un alias de la función yow. |
√ |
√ |
||
|
yow(x) |
Extrae el año de numeración de semanas ISO de la fecha de destino. La función yow es un alias de la función year_of_week. |
√ |
√ |
||
|
Funciones de intervalo de tiempo |
date_trunc(unit, x) |
Trunca una expresión de fecha o de marca de tiempo a la unidad especificada, como milisegundo, segundo, minuto, hora, día, mes o año. |
√ |
× |
|
|
date_add(unit, N, x) |
Suma un intervalo de N unidades a x. |
√ |
√ |
||
|
date_diff(unit, x, y) |
Devuelve la diferencia entre dos expresiones de marca de tiempo, x y y, expresada en la unidad especificada. |
√ |
√ |
||
|
Funciones de completado de series de tiempo |
time_series(x, window, format, padding_data) |
Rellena la serie de tiempo para completar los puntos de datos faltantes dentro de la ventana de tiempo de la consulta. |
√ |
× |
Funciones de fecha y hora
current_date
La función current_date devuelve la fecha actual con el formato YYYY-MM-DD.
Sintaxis
current_date
Tipo de valor devuelto
Tipo date.
Ejemplo
Consulta los registros de ayer.
-
Instrucción de consulta y análisis (debug)
* | SELECT * FROM log WHERE __time__ < to_unixtime(current_date) AND __time__ > to_unixtime(date_add('day', -1, current_date)) Los resultados de la consulta y el análisis se muestran en la siguiente tabla. Los datos devueltos corresponden a los registros de ayer e incluyen campos como body_bytes_sent, client_ip, host y http_user_agent.
current_time
La función current_time devuelve la hora y la zona horaria actuales con el formato HH:MM:SS.Ms Time_zone.
Sintaxis
current_time
Tipo de valor devuelto
Tipo time.
Ejemplo
Consulta la hora y la zona horaria actuales.
-
Instrucción de consulta y análisis (debug)
* | select current_time Resultado de la consulta y el análisis: la columna
_col0devuelve 22:34:24.034 Asia/Shanghai.
current_timestamp
La función current_timestamp devuelve la fecha, la hora y la zona horaria actuales con el formato YYYY-MM-DD HH:MM:SS.Ms Time_zone.
Sintaxis
current_timestamp
Tipo de valor devuelto
Tipo timestamp.
Ejemplo
Consulta los registros de ayer.
-
Instrucción de consulta y análisis (debug)
* | SELECT * FROM log WHERE __time__ < to_unixtime(current_timestamp) AND __time__ > to_unixtime(date_add('day', -1, current_timestamp)) Los resultados de la consulta y el análisis se muestran en la siguiente tabla. Incluyen los datos de los registros de ayer con campos como body_bytes_sent, client_ip, host y http_user_agent.
current_timezone
La función current_timezone devuelve la zona horaria actual.
Sintaxis
current_timezone()
Tipo de valor devuelto
Tipo varchar.
Ejemplo
Consulta la zona horaria actual.
-
Instrucción de consulta y análisis (debug)
* | select current_timezone() Resultado de la consulta y el análisis: la columna
_col0devuelve Asia/Shanghai.
date
La función date extrae la parte de fecha de una expresión datetime. Esta función equivale a cast(x as date). Para obtener más información, consulte Type conversion functions.
Sintaxis
date(x)
Parámetro
|
Parámetro |
Descripción |
|
x |
Una expresión |
Tipo de valor devuelto
Tipo date.
Ejemplo
Este ejemplo extrae la fecha de la marca de tiempo actual.
-
Instrucción de consulta y análisis (debug)
* | SELECT current_timestamp, date(current_timestamp) Resultado de la consulta y el análisis: la columna
_col0devuelve la marca de tiempo completa y la columna_col1devuelve la parte de fecha, por ejemplo, 2021-09-07.
date_format
La función date_format convierte una expresión timestamp en una cadena con el formato especificado.
Sintaxis
date_format(x, format)
Parámetro
|
Parámetro |
Descripción |
|
x |
Una expresión |
|
format |
El formato de destino para la expresión de fecha y hora. Para obtener más información, consulte Format specifiers. |
Tipo de valor devuelto
Tipo varchar.
Ejemplo
Calcula los estados y la cantidad de solicitudes de Nginx, y los muestra en orden cronológico. Primero, alinea las horas de los registros al minuto mediante date_trunc. Luego, convierte la hora al formato %H:%i con date_format, calcula el número de solicitudes por código de estado cada minuto y presenta los resultados de la consulta y el análisis como un gráfico de flujo.
-
Instrucción de consulta y análisis (debug)
* | SELECT date_format(date_trunc('minute', __time__), '%H:%i') AS time, COUNT(1) AS count, status GROUP BY time, status ORDER BY time Resultado de la consulta y el análisis

date_parse
La función date_parse convierte una cadena con un formato específico en un valor de tipo timestamp.
Sintaxis
date_parse(x, format)
Parámetro
|
Parámetro |
Descripción |
|
x |
Una cadena de fecha y hora. |
|
format |
El formato de la cadena de fecha y hora de entrada. Para obtener más información, consulte Format specifiers. |
Tipo del valor devuelto
Tipo timestamp.
Ejemplo
Convierta el valor del campo StartTime y el valor del campo EndTime al tipo timestamp, y calcule la diferencia de tiempo entre ambos.
-
Instrucción de consulta y análisis
*| SELECT date_parse(StartTime, '%Y-%m-%d %H:%i') AS "StartTime", date_parse(EndTime, '%Y-%m-%d %H:%i') AS "EndTime", date_diff('hour', StartTime, EndTime) AS "Time Difference (hours)" Resultado de la consulta y el análisis: la consulta devuelve un
StartTimede 2021-07-21 20:00:00.000, unEndTimede 2021-07-21 21:00:00.000 y una diferencia de tiempo de 1 hora.
from_iso8601_date
La función from_iso8601_date convierte una cadena de fecha con formato ISO 8601 en un valor de tipo date.
Sintaxis
from_iso8601_date(x)
Parámetro
|
Parámetro |
Descripción |
|
x |
Una cadena de fecha con formato ISO 8601. |
Tipo del valor devuelto
Tipo date.
Ejemplo
Convierta el valor del campo time en una expresión de fecha de tipo date.
-
Ejemplo de campo
time:2020-05-03 -
Instrucción de consulta y análisis
* | select from_iso8601_date(time) Resultado de la consulta y el análisis: la columna
_col0devuelve 2020-05-03, que es un valor de tipodate.
from_iso8601_timestamp
La función from_iso8601_timestamp convierte una cadena de marca de tiempo con formato ISO 8601 en un valor de tipo timestamp.
Sintaxis
from_iso8601_timestamp(x)
Parámetro
|
Parámetro |
Descripción |
|
x |
Una cadena de marca de tiempo con formato ISO 8601. |
Tipo del valor devuelto
Tipo timestamp.
Ejemplo
Este ejemplo convierte el campo time en un valor de tipo timestamp.
-
Ejemplo de campo
time:2020-05-03T17:30:08 -
Instrucción de consulta y análisis
* | select from_iso8601_timestamp(time) Resultado de la consulta y el análisis: el valor devuelto en la columna _col0 es 2020-05-03 17:30:08.000 Asia/Shanghai, un tipo timestamp con zona horaria.
from_unixtime
La función from_unixtime convierte una marca de tiempo Unix en un valor de tipo timestamp.
Sintaxis
-
Convierte a un valor de marca de tiempo sin información de zona horaria.
from_unixtime(x) -
Convierte a un valor de marca de tiempo con información de zona horaria.
from_unixtime(x,time zone) -
Convierte a un valor de marca de tiempo con información de zona horaria, donde hours y minutes especifican el desplazamiento de la zona horaria.
from_unixtime(x, hours, minutes)
Parámetro
|
Parámetro |
Descripción |
|
x |
Una marca de tiempo Unix. |
|
time zone |
La zona horaria, como |
|
hours |
El componente de horas del desplazamiento de la zona horaria, como |
|
minutes |
El componente de minutos del desplazamiento de la zona horaria, como |
Tipo del valor devuelto
Tipo timestamp.
Ejemplo
Convierta el valor del campo time en una expresión de fecha y hora de tipo timestamp con zona horaria.
-
Ejemplo de campo
time:1626774758 -
Instrucción de consulta y análisis
* | select from_unixtime(time,'Asia/Shanghai') Resultado de la consulta y el análisis: la columna
_col0devuelve 2021-07-20 17:52:38.000 Asia/Shanghai.
localtime
La función localtime devuelve la hora local en el formato HH:MM:SS.Ms.
Sintaxis
localtime
Tipo del valor devuelto
Tipo time.
Ejemplo
Consulta la hora local.
-
Instrucción de consulta y análisis (debug)
* | select localtime Resultado de la consulta y el análisis: la columna
_col0devuelve 02:09:46.213.
localtimestamp
La función localtimestamp devuelve la fecha y hora locales en el formato YYYY-MM-DD HH:MM:SS.Ms Time_zone.
Sintaxis
localtimestamp
Tipo del valor devuelto
Tipo timestamp.
Ejemplo
Consulta los registros de ayer.
-
Instrucción de consulta y análisis (debug)
* | SELECT * FROM log WHERE __time__ < to_unixtime(localtimestamp) AND __time__ > to_unixtime(date_add('day', -1, localtimestamp)) Los resultados de la consulta y el análisis se muestran en la siguiente tabla. Los resultados consisten en datos de registro de ayer e incluyen campos como body_bytes_sent, client_ip, host y http_user_agent.
now
La función now devuelve la fecha y hora actuales en el formato YYYY-MM-DD HH:MM:SS.Ms Time_zone. La función now es un alias de la función current_timestamp.
Sintaxis
now()
Tipo del valor devuelto
Tipo timestamp.
Ejemplo
Consulta los registros de ayer.
-
Instrucción de consulta y análisis (debug)
* | SELECT * FROM log WHERE __time__ < to_unixtime(now()) AND __time__ > to_unixtime(date_add('day', -1, now())) Los resultados de la consulta y el análisis se muestran en la siguiente tabla. Los resultados corresponden a los datos de registro de ayer, que incluyen campos como body_bytes_sent, client_ip, host y http_user_agent.
to_iso8601
La función to_iso8601 convierte una expresión de tipo date o timestamp en una cadena con formato ISO 8601.
Sintaxis
to_iso8601(x)
Parámetro
|
Parámetro |
Descripción |
|
x |
Una expresión de tipo |
Tipo del valor devuelto
Tipo varchar.
Ejemplo
Este ejemplo usa to_iso8601 para convertir el valor de current_timestamp en una cadena con formato ISO 8601.
-
Instrucción de consulta y análisis (debug)
* | select to_iso8601(current_timestamp) AS ISO8601 Resultado de la consulta y el análisis: la columna
ISO8601devuelve 2021-09-02T16:57:56.964+08:00.
to_unixtime
La función to_unixtime convierte una expresión de tipo timestamp en una marca de tiempo Unix.
Sintaxis
to_unixtime(x)
Parámetro
|
Parámetro |
Descripción |
|
x |
Una expresión de tipo |
Tipo del valor devuelto
Tipo double.
Ejemplo
Consulta los registros de ayer.
-
Instrucción de consulta y análisis (debug)
* | SELECT * FROM log WHERE __time__ < to_unixtime(now()) AND __time__ > to_unixtime(date_add('day', -1, now())) Los resultados de la consulta y el análisis se muestran en la siguiente tabla. La consulta devolvió datos de registro de ayer que incluyen campos como body_bytes_sent, client_ip, host y http_user_agent.
current_unixtimestamp
Esta función devuelve la marca de tiempo Unix actual del sistema. Una marca de tiempo Unix es el número total de segundos transcurridos desde las 00:00:00 del Tiempo Universal Coordinado (UTC) del 1 de enero de 1970.
Sintaxis
current_unixtimestamp()
Valor devuelto
Tipo del valor devuelto:
BIGINTDescripción del valor devuelto: devuelve un entero que representa el número de segundos transcurridos desde la época Unix.
Precisión: la precisión predeterminada es de segundos.
Ejemplo
-
Ejemplo 1: obtenga la marca de tiempo actual.
Este uso básico es común para registrar los momentos de inserción de datos.
* | extend now_ts =current_unixtimestamp() -- Sample output: 1734913028 -
Ejemplo 2: conversión de formato
Se suele usar junto con
from_unixtimepara convertir una marca de tiempo de vuelta a un formato de fecha legible.* | extend readable_time = date_format(from_unixtime(cast(current_unixtimestamp() as double)), '%Y-%m-%d %H:%i:%s') -- Sample output: 2025-12-23 00:17:08
Funciones de fecha y hora
Función day
La función day devuelve el día del mes a partir de una expresión de fecha y hora. Es equivalente a la función day_of_month.
Sintaxis
day(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
Una expresión de marca de tiempo o de fecha. |
Tipo del valor devuelto
bigint
Ejemplo
Este ejemplo usa la función current_date para obtener la fecha actual y luego la función day para devolver el día del mes.
-
Instrucción de consulta y análisis (Debug)
* | SELECT current_date, day(current_date) Resultados de la consulta y el análisis: la columna _col0 devuelve la fecha actual y la columna _col1 devuelve 7, lo que indica el séptimo día del mes.
Función day_of_month
La función day_of_month devuelve el día del mes a partir de una expresión de fecha y hora. Es equivalente a la función day.
Sintaxis
day_of_month(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
Una expresión de marca de tiempo o de fecha. |
Tipo del valor devuelto
bigint
Ejemplo
Este ejemplo usa la función current_date para obtener la fecha actual y la función day_of_month para devolver el día del mes.
-
Instrucción de consulta (Debug)
* | SELECT current_date, day_of_month(current_date) Resultados de la consulta y el análisis: la columna _col0 devuelve la fecha actual y la columna _col1 devuelve 7, el día del mes.
Función day_of_week
La función day_of_week devuelve un entero que representa el día de la semana a partir de una expresión de fecha o de fecha y hora.
Sintaxis
day_of_week(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
Una expresión de fecha y hora o de fecha. |
Tipo de retorno
El tipo de retorno es bigint.
Ejemplo
Este ejemplo obtiene la fecha actual mediante la función current_date y luego extrae el día de la semana con la función day_of_week.
-
Instrucción de consulta y análisis (Debug)
* | SELECT current_date, day_of_week(current_date) Resultados de la consulta y el análisis: la columna _col0 devuelve la fecha actual y la columna _col1 devuelve 2, que representa el segundo día de la semana (martes).
Función day_of_year
La función day_of_year devuelve el día del año a partir de una expresión de fecha y hora.
Sintaxis
day_of_year(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
Una expresión de marca de tiempo o de fecha. |
Tipo de retorno
bigint
Ejemplo
Este ejemplo usa la función current_date para obtener la fecha actual y la función day_of_year para devolver el día del año.
-
Instrucción de consulta (Debug)
* | SELECT current_date, day_of_year(current_date) Resultados de la consulta y el análisis: la columna _col0 devuelve la fecha actual y la columna _col1 devuelve 250, lo que significa que la fecha actual es el día 250 del año.
Función dow
La función dow devuelve el día de la semana a partir de una expresión de fecha y hora. Esta función es equivalente a la función day_of_week.
Sintaxis
dow(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
Una expresión de fecha y hora. |
Tipo del valor devuelto
bigint
Ejemplo
Este ejemplo usa la función dow para extraer el día de la semana de la fecha actual.
-
Instrucción de consulta y análisis (Debug)
* | SELECT current_date, dow(current_date) Resultados de la consulta y el análisis: la columna _col0 devuelve la fecha actual y la columna _col1 devuelve 2, que representa el segundo día de la semana (martes).
Función doy
La función doy devuelve el día del año a partir de una expresión de fecha y hora. Esta función es equivalente a la función day_of_year.
Sintaxis
doy(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
Un valor de tipo |
Tipo del valor devuelto
bigint
Ejemplo
Este ejemplo usa la función current_date para obtener la fecha actual y la función doy para devolver el día del año.
-
Instrucción de consulta (Debug)
* | SELECT current_date, doy(current_date) Resultados de la consulta y el análisis: la columna
_col0devuelve la fecha actual y la columna_col1devuelve 250, lo que indica que la fecha actual es el día 250 del año.
Función extract
La función extract extrae una parte específica, como el año o la hora, de una expresión de fecha u hora según el field especificado.
Sintaxis
extract(field from x)
Parámetros
|
Parámetro |
Descripción |
|
field |
La parte que se va a extraer. Los valores válidos incluyen |
|
x |
Una expresión que devuelve un valor de tipo |
Tipo del valor devuelto
Devuelve un valor de tipo bigint.
Ejemplo
Este ejemplo extrae el año de la fecha que devuelve la función current_date.
-
Instrucción de consulta (Debug)
* | SELECT extract(year from current_date) Resultados de la consulta y el análisis: la columna
_col0devuelve el año extraído: 2021.
Función hour
La función hour extrae la hora (de 0 a 23) de una expresión de fecha y hora.
Sintaxis
hour(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
La entrada debe ser de tipo timestamp. |
Tipo del valor devuelto
La función devuelve un valor de tipo bigint.
Ejemplo
Este ejemplo usa la función current_timestamp para obtener la marca de tiempo actual y la función hour para extraer la hora.
-
Instrucción de consulta (Debug)
* | SELECT current_timestamp, hour(current_timestamp) Resultado de la consulta y el análisis: la columna _col0 devuelve la marca de tiempo actual, mientras que la columna _col1 devuelve la hora actual: 11.
Función minute
La función minute devuelve el componente de minutos (de 0 a 59) de una marca de tiempo.
Sintaxis
minute(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
El parámetro debe ser de tipo timestamp. |
Tipo del valor devuelto
Devuelve un valor de tipo bigint.
Ejemplo
Este ejemplo obtiene la marca de tiempo actual con la función current_timestamp y luego extrae el valor de los minutos.
-
Instrucción de consulta y análisis (Debug)
* | SELECT current_timestamp, minute(current_timestamp) Resultados de la consulta y el análisis: la columna _col0 contiene la marca de tiempo actual y la columna _col1 contiene el componente de minutos, por ejemplo, 17.
Función month
La función month extrae el mes de una expresión de fecha y hora.
Sintaxis
month(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
Una expresión de fecha o de marca de tiempo. |
Tipo del valor devuelto
bigint
Ejemplo
Este ejemplo obtiene la marca de tiempo actual mediante la función current_timestamp y luego extrae el mes con la función month.
-
Instrucción de consulta (Debug)
* | SELECT current_timestamp, month(current_timestamp) Resultados de la consulta y el análisis: la columna _col0 devuelve la marca de tiempo actual y la columna _col1 devuelve el mes actual (9).
Función quarter
La función quarter devuelve el trimestre de una fecha.
Sintaxis
quarter(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
Una expresión de fecha o de marca de tiempo. |
Tipo del valor devuelto
bigint
Ejemplo
Este ejemplo calcula el trimestre de la fecha actual mediante las funciones current_timestamp y quarter.
-
Instrucción de consulta (Debug)
* | SELECT current_timestamp,quarter(current_timestamp) Resultados de la consulta y el análisis: la columna _col0 devuelve la marca de tiempo actual y la columna _col1 devuelve 3, el trimestre actual.
Función second
La función second devuelve el componente de segundos de una expresión de marca de tiempo.
Sintaxis
second(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
Una expresión de marca de tiempo. |
Tipo del valor devuelto
Un valor de tipo bigint.
Ejemplo
Este ejemplo usa la función second para extraer los segundos del valor que devuelve la función current_timestamp.
-
Instrucción de consulta (debug)
* | SELECT current_timestamp,second(current_timestamp) Resultados de la consulta y el análisis: la columna _col0 devuelve la marca de tiempo actual y la columna _col1 devuelve 41, el segundo actual.
Función timezone_hour
Esta función devuelve el desplazamiento horario en horas de la zona horaria.
Sintaxis
timezone_hour(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
Una expresión de marca de tiempo. |
Tipo de retorno
Un valor de tipo bigint.
Ejemplo
Este ejemplo obtiene el desplazamiento horario en horas de la hora actual.
-
Instrucción de consulta y análisis (Debug)
* | SELECT current_timestamp, timezone_hour(current_timestamp) Resultados de la consulta y el análisis: la columna _col0 devuelve la marca de tiempo actual y la columna _col1 devuelve 8, el desplazamiento horario en horas (UTC+8).
Función timezone_minute
La función timezone_minute calcula el desplazamiento en minutos de una zona horaria.
Sintaxis
timezone_minute(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
Una expresión de tipo timestamp. |
Tipo de retorno
Un valor de tipo bigint.
Ejemplo
Use current_timestamp para obtener la marca de tiempo actual y luego use timezone_minute para calcular el desplazamiento en minutos de la zona horaria.
-
Instrucción de consulta y análisis (Debug)
* | SELECT current_timestamp,timezone_minute(current_timestamp) Resultados de la consulta y el análisis: la columna _col0 devuelve la marca de tiempo actual y la columna _col1 devuelve 0, que es el desplazamiento en minutos de la zona horaria.
Función week
La función week devuelve la semana del año correspondiente a una fecha específica. Su comportamiento es equivalente al de la función week_of_year.
Sintaxis
week(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
Una expresión de fecha o marca de tiempo. |
Tipo de valor devuelto
bigint
Ejemplo
Utilice la función current_timestamp para obtener la fecha y hora actuales. Después, use la función week para calcular la semana actual del año.
-
Instrucción de consulta (Depurar)
* | SELECT current_timestamp, week(current_timestamp) Resultados de la consulta y el análisis: la columna _col0 devuelve la marca de tiempo actual, mientras que la columna _col1 devuelve 36, que corresponde a la semana actual del año.
Función week_of_year
La función week_of_year es un alias de la función week y devuelve la semana del año correspondiente a una fecha.
Sintaxis
week_of_year(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
El parámetro debe ser de tipo date o timestamp. |
Tipo de valor devuelto
bigint
Ejemplo
Este ejemplo obtiene la semana del año a partir de la marca de tiempo actual.
-
Instrucción de consulta y análisis (depurar)
* | SELECT current_timestamp, week_of_year(current_timestamp) Resultados de la consulta y el análisis: la columna _col0 devuelve la marca de tiempo actual, mientras que la columna _col1 devuelve 36, lo cual indica que la fecha actual se encuentra en la semana 36 del año.
Función year
La función year extrae el año de una fecha o marca de tiempo.
Sintaxis
year(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
El parámetro debe ser de tipo |
Tipo de valor devuelto
Devuelve un valor de tipo bigint.
Ejemplo
Este ejemplo utiliza la función current_timestamp para obtener la fecha y hora actuales, y la función year para extraer el año.
-
Instrucción de consulta y análisis (depurar)
* | SELECT current_timestamp,year(current_timestamp) Resultados de la consulta y el análisis: la columna
_col0devuelve la marca de tiempo actual, mientras que la columna_col1devuelve el año actual.
Función year_of_week
La función year_of_week devuelve el año de una fecha determinada según el sistema de fechas por semana ISO. Esta función equivale a la función yow.
Sintaxis
year_of_week(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
Una expresión de fecha o marca de tiempo. |
Tipo de valor devuelto
bigint.
Ejemplos
Este ejemplo combina la función year_of_week con la función current_timestamp para devolver el año de la fecha actual según el sistema de fechas por semana ISO.
-
Instrucción de consulta y análisis (depurar)
* | SELECT current_timestamp,year_of_week(current_timestamp) Resultados de la consulta y el análisis: la columna _col0 devuelve la marca de tiempo actual, mientras que la columna _col1 devuelve el año según el sistema de fechas por semana ISO; por ejemplo, 2021.
Función yow
La función yow devuelve el año de una fecha según el sistema de fechas por semana ISO. Esta función es un alias de la función year_of_week.
Sintaxis
yow(x)
Parámetros
|
Parámetro |
Descripción |
|
x |
El valor que se va a evaluar, el cual debe ser una fecha o una marca de tiempo. |
Tipo de valor devuelto
La función devuelve un valor de tipo bigint.
Ejemplo
Este ejemplo obtiene la fecha y hora actuales mediante la función current_timestamp. Luego, usa la función yow para devolver el año según el sistema de fechas por semana ISO.
-
Instrucción de consulta (Depurar)
* | SELECT current_timestamp, yow(current_timestamp) Resultados de la consulta y el análisis: la columna _col0 devuelve la marca de tiempo actual, mientras que la columna _col1 devuelve el año actual basado en el sistema de fechas por semana ISO.
Funciones de intervalo de tiempo
**Función date_trunc**
La función date_trunc trunca una expresión de fecha y hora a la unidad de tiempo especificada. Se utiliza habitualmente para agregar y analizar datos con base en el tiempo.
Sintaxis
date_trunc(unit, x)
Parámetros
|
Parámetro |
Descripción |
|
unit |
La unidad de tiempo. Los valores válidos son |
|
x |
Una expresión de fecha y hora. |
La función date_trunc solo agrega datos en intervalos de tiempo fijos, como cada minuto o cada hora. Si necesita agrupar los datos en dimensiones de tiempo flexibles, por ejemplo cada 5 minutos, utilice el operador módulo.
* | SELECT count(1) AS pv, __time__ - __time__ %300 AS time GROUP BY time LIMIT 100
Tipo de valor devuelto
El tipo de valor devuelto es el mismo que el del parámetro x.
Ejemplo
Calcula el tiempo promedio de solicitud por minuto y, después, agrupa y ordena los resultados por tiempo.
-
Instrucción de consulta y análisis (Depurar)
* | SELECT date_trunc('minute', __time__) AS time, truncate (avg(request_time)) AS avg_time, current_date AS date GROUP BY time ORDER BY time DESC LIMIT 100 El resultado de la consulta y el análisis incluye la columna time (alineada por minuto), la columna avg_time (tiempo promedio de solicitud) y la columna date (fecha actual).
**Función date_add**
La función date_add suma o resta un intervalo de tiempo específico a un valor de fecha u hora.
Sintaxis
date_add(unit, n, x)
Parámetros
|
Parámetro |
Descripción |
|
unit |
La unidad de tiempo. Los valores válidos son |
|
n |
El intervalo de tiempo que se va a sumar. Un valor negativo resta el intervalo. |
|
x |
Una expresión de fecha y hora de tipo |
Tipo de valor devuelto
Un valor de tipo timestamp.
Ejemplo
Consulte los registros del día anterior.
-
Instrucción de consulta y análisis (Depurar)
* | SELECT * FROM log WHERE __time__ < to_unixtime(current_timestamp) AND __time__ > to_unixtime(date_add('day', -1, current_timestamp)) El resultado de la consulta y el análisis contiene los datos de registro del día anterior, incluidos campos como body_bytes_sent, client_ip, host y http_user_agent.
**Función date_diff**
La función date_diff devuelve la diferencia entre dos expresiones de fecha u hora.
Sintaxis
date_diff(unit, x, y)
Parámetros
|
Parámetro |
Descripción |
|
unit |
La unidad de tiempo. Los valores válidos son |
|
x |
Una expresión de fecha y hora de tipo |
|
y |
Una expresión de fecha y hora de tipo |
Tipo de valor devuelto
Un valor de tipo bigint.
Ejemplo
Calcula la duración de uso del servidor a partir de los campos UsageStartTime y UsageEndTime.
-
Instrucción de consulta y análisis
* | SELECT date_diff('hour', UsageStartTime, UsageEndTime) AS "时间差(小时)" La consulta devuelve una diferencia de tiempo de 24 horas.
Función de completado de series de tiempo
Función time_series
La función time_series rellena los puntos de datos faltantes dentro de la ventana de tiempo de una consulta.
La función time_series debe usarse junto con las cláusulas GROUP BY y ORDER BY. La cláusula ORDER BY no admite el orden descendente (DESC). Si utiliza esta función en una subconsulta, la consulta externa no puede incluir las cláusulas GROUP BY ni ORDER BY.
Sintaxis
time_series(x, window_time, format, padding_data)
Parámetros
|
Parámetro |
Descripción |
|
x |
La columna de tiempo, como |
|
window_time |
El tamaño de la ventana. La unidad puede ser |
|
format |
El formato de hora del resultado. Para más información, consulte Format specifications. |
|
padding_data |
Define cómo se rellenan los valores faltantes. Los valores válidos incluyen:
|
Tipo de valor devuelto
Un valor de tipo varchar.
Ejemplo
Complete los datos con una granularidad de 2 horas y rellene los valores faltantes con 0.
-
Instrucción de consulta y análisis (Depurar)
* | select * from (select time_series(__time__, '2h', '%Y-%m-%d %H:%i:%s', '0') as time, count(*) as num from log group by time order by time) a limit 100 A continuación se muestra una tabla con los resultados de la consulta y el análisis. La consulta devuelve la columna time con una granularidad de 2 horas y la columna num correspondiente.
Especificadores de formato
|
Formato |
Descripción |
|
%a |
Nombre abreviado del día de la semana. Por ejemplo, |
|
%b |
Nombre abreviado del mes. Por ejemplo, |
|
%c |
Mes representado como número decimal. Rango: de 1 a 12. |
|
%D |
Día del mes con sufijo ordinal en inglés, como |
|
%d |
Día del mes como número decimal con ceros iniciales. Rango: de 01 a 31. |
|
%e |
Día del mes como número decimal. Rango: de 1 a 31. |
|
%H |
Hora en formato de 24 horas como número decimal con ceros iniciales. Rango: de 00 a 23. |
|
%h |
Hora en formato de 12 horas como número decimal con ceros iniciales. Rango: de 01 a 12. |
|
%i |
Minutos como número decimal con ceros iniciales. Rango: de 00 a 59. |
|
%j |
Día del año como número decimal con ceros iniciales. Rango: de 001 a 366. |
|
%k |
Hora en formato de 24 horas como número decimal. Rango: de 0 a 23. |
|
%l |
Hora en formato de 12 horas como número decimal. Rango: de 1 a 12. |
|
%M |
Nombre completo del mes. Por ejemplo, |
|
%m |
Mes como número decimal con ceros iniciales. Rango: de 01 a 12. |
|
%p |
|
|
%r |
Hora en formato de 12 horas ( |
|
%S |
Segundos como número decimal con ceros iniciales. Rango: de 00 a 59. |
|
%s |
Número de segundos transcurridos desde la época UNIX. |
|
%f |
Microsegundos como número decimal con ceros iniciales. Rango: de 000000 a 999999. |
|
%T |
Hora en formato de 24 horas ( |
|
%v |
Número de semana del año (01-53), donde el lunes es el primer día de la semana. |
|
%W |
Nombre completo del día de la semana. Por ejemplo, |
|
%Y |
Año de cuatro dígitos, como |
|
%y |
Año de dos dígitos, como |
|
%% |
Carácter literal |
Unidades
|
Unidad |
Descripción |
|
millisecond |
Milisegundo |
|
second |
Segundo |
|
minute |
Minuto |
|
hour |
Hora |
|
day |
Día |
|
week |
Semana |
|
month |
Mes |
|
quarter |
Trimestre |
|
year |
Año |