Todos los productos
Search
Centro de documentos

Simple Log Service:Funciones de fecha y hora

Última actualización: Sep 09, 2026

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.

Importante
  • 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 que status o "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 function

current_date

Devuelve la fecha actual.

√

×

current_time function

current_time

Devuelve la hora y la zona horaria actuales.

√

×

current_timestamp function

current_timestamp

Devuelve la fecha, la hora y la zona horaria actuales.

√

×

current_timezone function

current_timezone()

Devuelve la zona horaria actual.

√

×

date function

date(x)

Devuelve la parte de fecha de una expresión de fecha o de marca de tiempo.

√

×

date_format function

date_format(x, format)

Convierte una expresión de marca de tiempo en una cadena con el formato especificado.

√

√

date_parse function

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 function

from_iso8601_date(x)

Convierte una cadena de fecha ISO 8601 en un valor de fecha.

√

×

from_iso8601_timestamp function

from_iso8601_timestamp(x)

Convierte una cadena de marca de tiempo ISO 8601 en un valor de marca de tiempo.

√

×

from_unixtime function

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 function

localtime

Devuelve la hora local.

√

×

localtimestamp function

localtimestamp

Devuelve la fecha y la hora locales.

√

×

now function

now()

Devuelve la fecha y la hora actuales.

La función now es un alias de la función current_timestamp.

√

×

to_iso8601 function

to_iso8601(x)

Convierte una expresión de fecha o de marca de tiempo en una cadena con formato ISO 8601.

√

×

to_unixtime function

to_unixtime(x)

Convierte una expresión de marca de tiempo en una marca de tiempo UNIX.

√

√

current_unixtimestamp function

current_unixtimestamp()

Devuelve la marca de tiempo UNIX actual del sistema.

×

√

Funciones de extracción de fecha y hora

day function

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 function

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 function

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 function

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 function

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 function

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 function

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 function

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 function

minute(x)

Extrae el minuto de la hora de una expresión de fecha o de marca de tiempo.

√

√

month function

month(x)

Extrae el mes del año de una expresión de fecha o de marca de tiempo.

√

√

quarter function

quarter(x)

Devuelve el trimestre del año de una expresión de fecha o de marca de tiempo.

√

√

second function

second(x)

Extrae el segundo del minuto de una expresión de fecha o de marca de tiempo.

√

√

timezone_hour function

timezone_hour(x)

Devuelve el componente de hora del desplazamiento de la zona horaria.

√

×

timezone_minute function

timezone_minute(x)

Devuelve el componente de minuto del desplazamiento de la zona horaria.

√

×

week function

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 function

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 function

year(x)

Extrae el año de una expresión de fecha o de marca de tiempo.

√

√

year_of_week function

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 function

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 function

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 function

date_add(unit, N, x)

Suma un intervalo de N unidades a x.

√

√

date_diff function

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 function

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 _col0 devuelve 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 _col0 devuelve 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 date o timestamp.

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 _col0 devuelve la marca de tiempo completa y la columna _col1 devuelve 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 timestamp.

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_format

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 StartTime de 2021-07-21 20:00:00.000, un EndTime de 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 _col0 devuelve 2020-05-03, que es un valor de tipo date.

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 Asia/Shanghai.

hours

El componente de horas del desplazamiento de la zona horaria, como +07 o -09.

minutes

El componente de minutos del desplazamiento de la zona horaria, como +30 o -45.

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 _col0 devuelve 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 _col0 devuelve 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 date o timestamp.

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 ISO8601 devuelve 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 timestamp.

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: BIGINT

  • Descripció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_unixtime para 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 timestamp o date.

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 _col0 devuelve la fecha actual y la columna _col1 devuelve 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 year, quarter, month, week, day, day_of_month, day_of_week, dow, day_of_year, doy, year_of_week, yow, hour, minute, second, timezone_hour y timezone_minute.

x

Una expresión que devuelve un valor de tipo date, time, timestamp o interval (varchar(9)).

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 _col0 devuelve 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 date o timestamp.

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 _col0 devuelve la marca de tiempo actual, mientras que la columna _col1 devuelve 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 millisecond, second, minute, hour, day, week, month, quarter y year. Para más información, consulte Unit Description.

x

Una expresión de fecha y hora.

Nota

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 millisecond, second, minute, hour, day, week, month, quarter y year. Para más información, consulte Unit Description.

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 timestamp.

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 millisecond, second, minute, hour, day, week, month, quarter y year. Para más información, consulte Unit Description.

x

Una expresión de fecha y hora de tipo timestamp.

y

Una expresión de fecha y hora de tipo timestamp.

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.

Importante

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 __time__. Los valores de la columna deben ser de tipo long o timestamp.

window_time

El tamaño de la ventana. La unidad puede ser s (segundo), m (minuto), h (hora) o d (día). Ejemplos: 2h, 5m y 3d.

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:

  • 0: rellena el valor faltante con 0.

  • null: rellena el valor faltante con null.

  • last: rellena el valor faltante con el valor del punto de tiempo anterior.

  • next: rellena el valor faltante con el valor del siguiente punto de tiempo.

  • avg: rellena el valor faltante con el promedio de los valores de los dos puntos de tiempo adyacentes.

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, Sun y Sat.

%b

Nombre abreviado del mes. Por ejemplo, Jan y Dec.

%c

Mes representado como número decimal. Rango: de 1 a 12.

%D

Día del mes con sufijo ordinal en inglés, como 1st, 2nd o 3rd.

%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, January y December.

%m

Mes como número decimal con ceros iniciales. Rango: de 01 a 12.

%p

AM o PM.

%r

Hora en formato de 12 horas (hh:mm:ss AM/PM).

%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 (hh:mm:ss).

%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, Sunday y Saturday.

%Y

Año de cuatro dígitos, como 2020.

%y

Año de dos dígitos, como 20.

%%

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