Todos os produtos
Search
Central de documentação

Simple Log Service:Funções de data e hora

Última atualização: Jul 03, 2026

O Simple Log Service oferece funções de tempo, extração de data e hora, intervalos de tempo e preenchimento de séries temporais para operar esses valores nos logs. Com elas, você pode converter formatos, agrupar e agregar dados. Este tópico descreve a sintaxe e apresenta exemplos dessas funções.

Funções de data e hora

O Log Service suporta as seguintes funções de data e hora.

Importante
  • Ao configurar o formato de tempo, especifique-o apenas até os segundos. Não inclua milissegundos ou microssegundos.

  • Configure o formato de tempo (formato) somente para a parte horária da string de tempo. Não é necessário definir um formato para outros elementos, como o fuso horário.

  • Cada log no Log Service contém o campo reservado __time__. O valor desse campo é um timestamp UNIX, como 1592374067, que representa 2020-06-17 14:07:47.

  • Nas instruções de análise do Log Service, strings devem estar entre aspas simples ('). Caracteres sem aspas ou entre aspas duplas (") indicam nomes de campos ou colunas. Por exemplo, 'status' representa a string status, enquanto status ou "status" refere-se ao campo de log status.

Tipo de função

Nome da função

Sintaxe

Descrição

SQL

SPL

Funções de data e hora

Função current_date

current_date

Retorna a data atual.

×

Função current_time

current_time

Retorna a hora atual e o fuso horário.

×

Função current_timestamp

current_timestamp

Retorna a data, a hora e o fuso horário atuais.

×

Função current_timezone

current_timezone()

Retorna o fuso horário atual.

×

Função date

date(x)

Retorna a parte da data de uma expressão de data ou timestamp.

×

Função date_format

date_format(x, format)

Converte uma expressão de timestamp em uma string no formato especificado.

Função date_parse

date_parse(x, format)

Analisa uma expressão de string e a converte em timestamp usando o formato especificado.

Função from_iso8601_date

from_iso8601_date(x)

Converte uma string de data ISO 8601 em um valor de data.

×

Função from_iso8601_timestamp

from_iso8601_timestamp(x)

Converte uma string de timestamp ISO 8601 em um valor de timestamp.

×

Função from_unixtime

from_unixtime(x)

Converte um timestamp UNIX em um valor de timestamp sem informações de fuso horário.

from_unixtime(x, time zone)

Converte um timestamp UNIX em um valor de timestamp no fuso horário especificado.

×

from_unixtime(x, hours, minutes)

Converte um timestamp UNIX em um valor de timestamp com o deslocamento especificado em hours e minutes.

×

Função localtime

localtime

Retorna a hora local.

×

Função localtimestamp

localtimestamp

Retorna a data e a hora locais.

×

Função now

now()

Retorna a data e a hora atuais.

A função now é um alias para a função current_timestamp.

×

Função to_iso8601

to_iso8601(x)

Converte uma expressão de data ou timestamp em uma string formatada em ISO 8601.

×

Função to_unixtime

to_unixtime(x)

Converte uma expressão de timestamp em um timestamp UNIX.

Função current_unixtimestamp

current_unixtimestamp()

Retorna o timestamp UNIX atual do sistema.

×

Funções de extração de data e hora

Função day

day(x)

Extrai o dia do mês de uma expressão de data ou timestamp.

A função day é um alias para a função day_of_month.

×

Função day_of_month

day_of_month(x)

Extrai o dia do mês de uma expressão de data ou timestamp.

A função day_of_month é um alias para a função day.

×

Função day_of_week

day_of_week(x)

Extrai o dia da semana de uma expressão de data ou timestamp.

A função day_of_week é um alias para a função dow.

Função day_of_year

day_of_year(x)

Extrai o dia do ano de uma expressão de data ou timestamp.

A função day_of_year é um alias para a função doy.

Função dow

dow(x)

Extrai o dia da semana de uma expressão de data ou timestamp.

A função dow é um alias para a função day_of_week.

Função doy

doy(x)

Extrai o dia do ano de uma expressão de data ou timestamp.

A função doy é um alias para a função day_of_year.

Função extract

extract(field from x)

Extrai uma parte, como um componente de data ou hora, de uma expressão de data ou timestamp conforme especificado por field.

×

Função hour

hour(x)

Extrai a hora do dia (no formato de 24 horas) de uma expressão de data ou timestamp.

Função minute

minute(x)

Extrai o minuto da hora de uma expressão de data ou timestamp.

Função month

month(x)

Extrai o mês do ano de uma expressão de data ou timestamp.

Função quarter

quarter(x)

Retorna o trimestre do ano de uma expressão de data ou timestamp.

Função second

second(x)

Extrai o segundo do minuto de uma expressão de data ou timestamp.

Função timezone_hour

timezone_hour(x)

Retorna o componente de hora do deslocamento do fuso horário.

×

Função timezone_minute

timezone_minute(x)

Retorna o componente de minuto do deslocamento do fuso horário.

×

Função week

week(x)

Retorna a semana do ano de uma expressão de data ou timestamp.

A função week é um alias para a função week_of_year.

×

Função week_of_year

week_of_year(x)

Retorna a semana do ano para uma determinada data.

A função week_of_year é um alias para a função week.

×

Função year

year(x)

Extrai o ano de uma expressão de data ou timestamp.

Função year_of_week

year_of_week(x)

Extrai o ano de numeração de semana ISO de uma expressão de data ou timestamp.

A função year_of_week é um alias para a função yow.

Função yow

yow(x)

Extrai o ano de numeração de semana ISO da data alvo.

A função yow é um alias para a função year_of_week.

Funções de intervalo de tempo

Função date_trunc

date_trunc(unit, x)

Trunca uma expressão de data ou timestamp para a unidade especificada, como milissegundo, segundo, minuto, hora, dia, mês ou ano.

×

Função date_add

date_add(unit, N, x)

Adiciona um intervalo de N unidades a x.

Função date_diff

date_diff(unit, x, y)

Retorna a diferença entre duas expressões de timestamp, x e y, expressa na unidade especificada.

Funções de preenchimento de série temporal

Função time_series

time_series(x, window, format, padding_data)

Preenche a série temporal para completar pontos de dados ausentes dentro da janela de tempo da consulta.

×

Funções de data e hora

current_date

A função current_date retorna a data atual no formato YYYY-MM-DD.

Sintaxe

current_date

Tipo de valor retornado

Tipo Date.

Exemplo

Consulta os logs de ontem.

  • Instrução de consulta e análise (debug)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(current_date)
      AND __time__ > to_unixtime(date_add('day', -1, current_date))
  • A tabela abaixo mostra os resultados da consulta e da análise. Os dados retornados referem-se aos logs de ontem e incluem campos como body_bytes_sent, client_ip, host e http_user_agent.

current_time

A função current_time retorna a hora atual e o fuso horário no formato HH:MM:SS.Ms Time_zone.

Sintaxe

current_time

Tipo de valor retornado

Tipo Time.

Exemplo

Consulta a hora atual e o fuso horário.

  • Instrução de consulta e análise (debug)

    * | select current_time
  • Resultado da consulta e análise: A coluna _col0 retorna 22:34:24.034 Asia/Shanghai.

current_timestamp

A função current_timestamp retorna a data, a hora e o fuso horário atuais no formato YYYY-MM-DD HH:MM:SS.Ms Time_zone.

Sintaxe

current_timestamp

Tipo de valor retornado

Tipo Timestamp.

Exemplo

Consulta os logs de ontem.

  • Instrução de consulta e análise (debug)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(current_timestamp)
      AND __time__ > to_unixtime(date_add('day', -1, current_timestamp))
  • A tabela a seguir apresenta os resultados da consulta e da análise. Eles incluem dados de log de ontem com campos como body_bytes_sent, client_ip, host e http_user_agent.

current_timezone

A função current_timezone retorna o fuso horário atual.

Sintaxe

current_timezone()

Tipo de valor retornado

Tipo Varchar.

Exemplo

Consulta o fuso horário atual.

  • Instrução de consulta e análise (debug)

    * | select current_timezone()
  • Resultado da consulta e análise: A coluna _col0 retorna Asia/Shanghai.

date

Use a função date para extrair a parte da data de uma expressão datetime. Essa função equivale a cast(x as date). Para mais informações, consulte Funções de conversão de tipo.

Sintaxe

date(x)

Parâmetro

Parâmetro

Descrição

x

Uma expressão date ou timestamp.

Tipo de valor retornado

Tipo Date.

Exemplo

Este exemplo extrai a data do timestamp atual.

  • Instrução de consulta e análise (debug)

    * | SELECT current_timestamp, date(current_timestamp)
  • Resultado da consulta e análise: A coluna _col0 retorna o timestamp completo, e a coluna _col1 retorna a parte da data, como 2021-09-07.

date_format

A função date_format converte uma expressão timestamp em uma string no formato especificado.

Sintaxe

date_format(x, format)

Parâmetro

Parâmetro

Descrição

x

Uma expressão timestamp.

format

O formato alvo para a expressão de data e hora. Para mais informações, consulte Especificadores de formato.

Tipo de valor retornado

Tipo Varchar.

Exemplo

Calcula os status de requisição do Nginx e suas contagens, exibindo-os em ordem cronológica. Primeiro, alinha os tempos dos logs ao minuto usando date_trunc. Em seguida, converte o tempo para o formato %H:%i com date_format, calcula o número de requisições para cada código de status por minuto e exibe os resultados da consulta e análise como um gráfico de fluxo (streamgraph).

  • Instrução de consulta e análise (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 da consulta e análise date_format

date_parse

A função date_parse converte uma string em um formato especificado para um valor do tipo timestamp.

Sintaxe

date_parse(x, format)

Parâmetro

Parâmetro

Descrição

x

Uma string de data e hora.

format

O formato da string de data e hora de entrada. Para mais informações, consulte Especificadores de formato.

Tipo de valor retornado

Tipo timestamp.

Exemplo

Converta o valor do campo StartTime e o valor do campo EndTime para o tipo timestamp e calcule a diferença de tempo entre eles.

  • Instrução de consulta e análise

    *|
    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 da consulta e análise: A consulta retorna um StartTime de 2021-07-21 20:00:00.000, um EndTime de 2021-07-21 21:00:00.000 e uma diferença de tempo de 1 hora.

from_iso8601_date

A função from_iso8601_date converte uma string de data no formato ISO 8601 para um valor do tipo date.

Sintaxe

from_iso8601_date(x)

Parâmetro

Parâmetro

Descrição

x

Uma string de data no formato ISO 8601.

Tipo de valor retornado

Tipo date.

Exemplo

Converta o valor do campo time para uma expressão de data do tipo date.

  • Amostra de campo

    time:2020-05-03
  • Instrução de consulta e análise

    * | select from_iso8601_date(time)
  • Resultado da consulta e análise: A coluna _col0 retorna 2020-05-03, que é um valor do tipo date.

from_iso8601_timestamp

A função from_iso8601_timestamp converte uma string de timestamp no formato ISO 8601 para um valor do tipo timestamp.

Sintaxe

from_iso8601_timestamp(x)

Parâmetro

Parâmetro

Descrição

x

Uma string de timestamp no formato ISO 8601.

Tipo de valor retornado

Tipo timestamp.

Exemplo

Este exemplo converte o campo time para um valor do tipo timestamp.

  • Amostra de campo

    time:2020-05-03T17:30:08
  • Instrução de consulta e análise

    * | select from_iso8601_timestamp(time)
  • Resultado da consulta e análise: O valor retornado na coluna _col0 é 2020-05-03 17:30:08.000 Asia/Shanghai, um tipo timestamp com fuso horário.

from_unixtime

A função from_unixtime converte um timestamp Unix para um valor do tipo timestamp.

Sintaxe

  • Conversão para um valor de timestamp sem informações de fuso horário.

    from_unixtime(x)
  • Conversão para um valor de timestamp com informações de fuso horário.

    from_unixtime(x,time zone)
  • Conversão para um valor de timestamp com informações de fuso horário, onde hours e minutes especificam o deslocamento do fuso horário.

    from_unixtime(x, hours, minutes)

Parâmetro

Parâmetro

Descrição

x

Um timestamp Unix.

time zone

O fuso horário, como Asia/Shanghai.

hours

O componente de hora do deslocamento do fuso horário, como +07 ou -09.

minutes

O componente de minuto do deslocamento do fuso horário, como +30 ou -45.

Tipo de valor retornado

Tipo timestamp.

Exemplo

Converta o valor do campo time para uma expressão de data e hora do tipo timestamp com fuso horário.

  • Amostra de campo

    time:1626774758
  • Instrução de consulta e análise

    * | select from_unixtime(time,'Asia/Shanghai')
  • Resultado da consulta e análise: A coluna _col0 retorna 2021-07-20 17:52:38.000 Asia/Shanghai.

localtime

A função localtime retorna a hora local no formato HH:MM:SS.Ms.

Sintaxe

localtime

Tipo de valor retornado

Tipo time.

Exemplo

Consulta a hora local.

  • Instrução de consulta e análise (debug)

    * | select localtime
  • Resultado da consulta e análise: A coluna _col0 retorna 02:09:46.213.

localtimestamp

A função localtimestamp retorna a data e hora locais no formato YYYY-MM-DD HH:MM:SS.Ms Time_zone.

Sintaxe

localtimestamp

Tipo de valor retornado

Tipo timestamp.

Exemplo

Consulta os logs de ontem.

  • Instrução de consulta e análise (debug)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(localtimestamp)
      AND __time__ > to_unixtime(date_add('day', -1, localtimestamp))
  • Os resultados da consulta e análise são mostrados na tabela abaixo. Os resultados consistem em dados de log de ontem e incluem campos como body_bytes_sent, client_ip, host e http_user_agent.

now

A função now retorna a data e hora atuais no formato YYYY-MM-DD HH:MM:SS.Ms Time_zone. A função now é um alias para a função current_timestamp.

Sintaxe

now()

Tipo de valor retornado

Tipo timestamp.

Exemplo

Consulta os logs de ontem.

  • Instrução de consulta e análise (debug)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(now())
      AND __time__ > to_unixtime(date_add('day', -1, now()))
  • Os resultados da consulta e análise são mostrados na tabela abaixo. Os resultados correspondem aos dados de log de ontem, que incluem campos como body_bytes_sent, client_ip, host e http_user_agent.

to_iso8601

A função to_iso8601 converte uma expressão date ou timestamp em uma string no formato ISO 8601.

Sintaxe

to_iso8601(x)

Parâmetro

Parâmetro

Descrição

x

Uma expressão date ou timestamp.

Tipo de valor retornado

Tipo varchar.

Exemplo

Este exemplo usa to_iso8601 para converter o valor de current_timestamp em uma string no formato ISO 8601.

  • Instrução de consulta e análise (debug)

    * | select to_iso8601(current_timestamp) AS ISO8601
  • Resultado da consulta e análise: A coluna ISO8601 retorna 2021-09-02T16:57:56.964+08:00.

to_unixtime

A função to_unixtime converte uma expressão timestamp em um timestamp Unix.

Sintaxe

to_unixtime(x)

Parâmetro

Parâmetro

Descrição

x

Uma expressão timestamp.

Tipo de valor retornado

Tipo double.

Exemplo

Consulta os logs de ontem.

  • Instrução de consulta e análise (debug)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(now())
      AND __time__ > to_unixtime(date_add('day', -1, now()))
  • Os resultados da consulta e análise são mostrados na tabela abaixo. A consulta retornou dados de log de ontem que incluem campos como body_bytes_sent, client_ip, host e http_user_agent.

current_unixtimestamp

Esta função retorna o timestamp Unix atual do sistema. Um timestamp Unix representa o número total de segundos decorridos desde 00:00:00 do Tempo Universal Coordenado (UTC) em 1º de janeiro de 1970.

Sintaxe

current_unixtimestamp()

Valor retornado

  • Tipo de valor retornado: BIGINT

  • Descrição do valor retornado: Retorna um inteiro que representa o número de segundos desde a época Unix.

  • Precisão: A precisão padrão é de segundos.

Exemplo

  • Exemplo 1: Obter o timestamp atual.

    Este uso básico é comum para registrar horários de inserção de dados.

    * | extend now_ts =current_unixtimestamp()
    -- Sample output: 1734913028
  • Exemplo 2: Conversão de formato

    Frequentemente usada com from_unixtime para converter um timestamp de volta para um formato de data legível por humanos.

    * | 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

Funções de data e hora

Função day

A função day retorna o dia do mês a partir de uma expressão de data e hora, sendo equivalente à função day_of_month.

Sintaxe

day(x)

Parâmetros

Parâmetro

Descrição

x

Uma expressão de timestamp ou data.

Tipo de valor retornado

bigint

Exemplo

Este exemplo utiliza a função current_date para obter a data atual e, em seguida, a função day para retornar o dia do mês.

  • Instrução de consulta e análise (Debug)

    * | SELECT current_date, day(current_date)
  • Resultados da consulta e análise: A coluna _col0 retorna a data atual, e a coluna _col1 retorna 7, indicando o sétimo dia do mês.

Função day_of_month

A função day_of_month retorna o dia do mês a partir de uma expressão de data e hora, sendo equivalente à função day.

Sintaxe

day_of_month(x)

Parâmetros

Parâmetro

Descrição

x

Uma expressão de timestamp ou data.

Tipo de valor retornado

bigint

Exemplo

Este exemplo utiliza a função current_date para obter a data atual e a função day_of_month para retornar o dia do mês.

  • Instrução de consulta (Debug)

    * | SELECT current_date, day_of_month(current_date)
  • Resultados da consulta e análise: A coluna _col0 retorna a data atual, e a coluna _col1 retorna 7, o dia do mês.

Função day_of_week

A função day_of_week retorna um inteiro que representa o dia da semana a partir de uma expressão de data ou data e hora.

Sintaxe

day_of_week(x)

Parâmetros

Parâmetro

Descrição

x

Uma expressão de data e hora ou data.

Tipo de retorno

O tipo de retorno é bigint.

Exemplo

Este exemplo recupera a data atual usando a função current_date e, em seguida, extrai o dia da semana usando a função day_of_week.

  • Instrução de consulta e análise (Debug)

    * | SELECT current_date, day_of_week(current_date)
  • Resultados da consulta e análise: A coluna _col0 retorna a data atual, e a coluna _col1 retorna 2, que representa o segundo dia da semana (terça-feira).

Função day_of_year

A função day_of_year retorna o dia do ano a partir de uma expressão de data e hora.

Sintaxe

day_of_year(x)

Parâmetros

Parâmetro

Descrição

x

Uma expressão de timestamp ou data.

Tipo de retorno

bigint

Exemplo

Este exemplo utiliza a função current_date para obter a data atual e a função day_of_year para retornar o dia do ano.

  • Instrução de consulta (Debug)

    * | SELECT current_date, day_of_year(current_date)
  • Resultados da consulta e análise: A coluna _col0 retorna a data atual, e a coluna _col1 retorna 250, significando que a data atual é o 250º dia do ano.

Função dow

A função dow retorna o dia da semana a partir de uma expressão de data e hora. Esta função é equivalente à função day_of_week.

Sintaxe

dow(x)

Parâmetros

Parâmetro

Descrição

x

Uma expressão de data e hora.

Tipo de valor retornado

bigint

Exemplo

Este exemplo usa a função dow para extrair o dia da semana da data atual.

  • Instrução de consulta e análise (Debug)

    * | SELECT current_date, dow(current_date)
  • Resultados da consulta e análise: A coluna _col0 retorna a data atual, e a coluna _col1 retorna 2, que representa o segundo dia da semana (terça-feira).

Função doy

A função doy retorna o dia do ano a partir de uma expressão de data e hora. Esta função é equivalente à função day_of_year.

Sintaxe

doy(x)

Parâmetros

Parâmetro

Descrição

x

Um valor timestamp ou date.

Tipo de valor retornado

bigint

Exemplo

Este exemplo utiliza a função current_date para obter a data atual e a função doy para retornar o dia do ano.

  • Instrução de consulta (Debug)

    * | SELECT current_date, doy(current_date)
  • Resultados da consulta e análise: A coluna _col0 retorna a data atual, e a coluna _col1 retorna 250, indicando que a data atual é o 250º dia do ano.

Função Extract

A função extract extrai uma parte específica, como o ano ou a hora, de uma expressão de data ou hora com base no field especificado.

Sintaxe

extract(field from x)

Parâmetros

Parâmetro

Descrição

field

A parte a ser extraída. Os valores válidos incluem 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 e timezone_minute.

x

Uma expressão que retorna um valor do tipo date, time, timestamp ou interval (varchar(9)).

Tipo de valor retornado

Retorna um valor bigint.

Exemplo

Este exemplo extrai o ano da data retornada pela função current_date.

  • Instrução de consulta (Debug)

    * | SELECT extract(year from current_date)
  • Resultados da consulta e análise: A coluna _col0 retorna o ano extraído: 2021.

Função Hour

A função hour extrai a hora (0-23) de uma expressão de data e hora.

Sintaxe

hour(x)

Parâmetros

Parâmetro

Descrição

x

A entrada deve ser do tipo timestamp.

Tipo de valor retornado

A função retorna um valor do tipo bigint.

Exemplo

Este exemplo usa a função current_timestamp para obter o timestamp atual e a função hour para extrair a hora.

  • Instrução de consulta (Debug)

    * | SELECT current_timestamp, hour(current_timestamp)
  • Resultado da consulta e análise: A coluna _col0 retorna o timestamp atual, enquanto a coluna _col1 retorna a hora atual: 11.

Função Minute

A função minute retorna o componente de minuto (de 0 a 59) de um timestamp.

Sintaxe

minute(x)

Parâmetros

Parâmetro

Descrição

x

O parâmetro deve ser do tipo timestamp.

Tipo de valor retornado

Retorna um valor bigint.

Exemplo

Este exemplo recupera o timestamp atual com a função current_timestamp e, em seguida, extrai o valor do minuto.

  • Instrução de consulta e análise (Debug)

    * | SELECT current_timestamp, minute(current_timestamp)
  • Resultados da consulta e análise: A coluna _col0 contém o timestamp atual, e a coluna _col1 contém o componente de minuto, como 17.

Função Month

A função month extrai o mês de uma expressão de data e hora.

Sintaxe

month(x)

Parâmetros

Parâmetro

Descrição

x

Uma expressão de data ou timestamp.

Tipo de valor retornado

bigint

Exemplo

Este exemplo recupera o timestamp atual usando a função current_timestamp e, em seguida, extrai o mês usando a função month.

  • Instrução de consulta (Debug)

    * | SELECT current_timestamp, month(current_timestamp)
  • Resultados da consulta e análise: A coluna _col0 retorna o timestamp atual, e a coluna _col1 retorna o mês atual (9).

Função Quarter

A função quarter retorna o trimestre de uma data.

Sintaxe

quarter(x)

Parâmetros

Parâmetro

Descrição

x

Uma expressão de data ou timestamp.

Tipo de valor retornado

bigint

Exemplo

Este exemplo calcula o trimestre da data atual usando as funções current_timestamp e quarter.

  • Instrução de consulta (Debug)

    * | SELECT current_timestamp,quarter(current_timestamp)
  • Resultados da consulta e análise: A coluna _col0 retorna o timestamp atual, e a coluna _col1 retorna 3, o trimestre atual.

Função Second

A função second retorna o componente de segundo de uma expressão de timestamp.

Sintaxe

second(x)

Parâmetros

Parâmetro

Descrição

x

Uma expressão de timestamp.

Tipo de valor retornado

Um valor bigint.

Exemplo

Este exemplo usa a função second para extrair os segundos do valor retornado pela função current_timestamp.

  • Instrução de consulta (debug)

    * | SELECT current_timestamp,second(current_timestamp)
  • Resultados da consulta e análise: A coluna _col0 retorna o timestamp atual, e a coluna _col1 retorna 41, o segundo atual.

Função timezone_hour

Esta função retorna o deslocamento de hora do fuso horário.

Sintaxe

timezone_hour(x)

Parâmetros

Parâmetro

Descrição

x

Uma expressão de timestamp.

Tipo de retorno

Um valor bigint.

Exemplo

Este exemplo recupera o deslocamento de hora do fuso horário da hora atual.

  • Instrução de consulta e análise (Debug)

    * | SELECT current_timestamp, timezone_hour(current_timestamp)
  • Resultados da consulta e análise: A coluna _col0 retorna o timestamp atual, e a coluna _col1 retorna 8, o deslocamento de hora do fuso horário (UTC+8).

Função Timezone_minute

A função timezone_minute calcula o deslocamento de minuto de um fuso horário.

Sintaxe

timezone_minute(x)

Parâmetros

Parâmetro

Descrição

x

Uma expressão do tipo timestamp.

Tipo de retorno

Um valor do tipo bigint.

Exemplo

Use current_timestamp para obter o timestamp atual e, em seguida, use timezone_minute para calcular o deslocamento de minuto do fuso horário.

  • Instrução de consulta e análise (Debug)

    * | SELECT current_timestamp,timezone_minute(current_timestamp)
  • Resultados da consulta e análise: A coluna _col0 retorna o timestamp atual, e a coluna _col1 retorna 0, que é o deslocamento de minuto do fuso horário.

Função week

A função week retorna a semana do ano para uma data especificada e equivale à função week_of_year.

Sintaxe

week(x)

Parâmetros

Parâmetro

Descrição

x

Uma expressão de data ou timestamp.

Tipo de valor retornado

bigint

Exemplo

Utilize a função current_timestamp para obter a data e hora atuais. Em seguida, use a função week para calcular a semana atual do ano.

  • Instrução de consulta (Debug)

    * | SELECT current_timestamp, week(current_timestamp)
  • Resultados da consulta e análise: A coluna _col0 retorna o timestamp atual, e a coluna _col1 retorna 36, referente à semana atual do ano.

Função week_of_year

A função week_of_year é um alias da função week e retorna a semana do ano correspondente a uma data.

Sintaxe

week_of_year(x)

Parâmetros

Parâmetro

Descrição

x

O parâmetro deve ser do tipo date ou timestamp.

Tipo de valor retornado

bigint

Exemplo

Este exemplo obtém a semana do ano a partir do timestamp atual.

  • Instrução de consulta e análise (debug)

    * | SELECT current_timestamp, week_of_year(current_timestamp)
  • Resultados da consulta e análise: A coluna _col0 retorna o timestamp atual, e a coluna _col1 retorna 36, indicando que a data atual está na 36ª semana do ano.

Função Year

A função year extrai o ano de uma data ou timestamp.

Sintaxe

year(x)

Parâmetros

Parâmetro

Descrição

x

O parâmetro deve ser do tipo date ou timestamp.

Tipo de valor retornado

Retorna um valor bigint.

Exemplo

Neste exemplo, utiliza-se a função current_timestamp para obter a data e hora atuais, e a função year para extrair o ano.

  • Instrução de consulta e análise (debug)

    * | SELECT current_timestamp,year(current_timestamp)
  • Resultados da consulta e análise: A coluna _col0 retorna o timestamp atual, e a coluna _col1 retorna o ano atual.

Função year_of_week

A função year_of_week retorna o ano de uma determinada data no sistema de datas por semana ISO. Esta função equivale à função yow.

Sintaxe

year_of_week(x)

Parâmetros

Parâmetro

Descrição

x

Uma expressão de data ou timestamp.

Tipo de valor retornado

bigint.

Exemplos

Este exemplo combina a função year_of_week com a função current_timestamp para retornar o ano da data atual no sistema de datas por semana ISO.

  • Instrução de consulta e análise (debug)

    * | SELECT current_timestamp,year_of_week(current_timestamp)
  • Resultados da consulta e análise: A coluna _col0 retorna o timestamp atual, e a coluna _col1 retorna o ano no sistema de datas por semana ISO, por exemplo, 2021.

Função yow

A função yow retorna o ano de uma data conforme o sistema de datas por semana ISO. Trata-se de um alias para a função year_of_week.

Sintaxe

yow(x)

Parâmetros

Parâmetro

Descrição

x

O valor a ser avaliado, que deve ser uma data ou timestamp.

Tipo de valor retornado

A função retorna um valor do tipo bigint.

Exemplo

Este exemplo recupera a data e hora atuais usando a função current_timestamp e, em seguida, aplica a função yow para retornar o ano segundo o sistema de datas por semana ISO.

  • Instrução de consulta (Debug)

    * | SELECT current_timestamp, yow(current_timestamp)
  • Resultados da consulta e análise: A coluna _col0 retorna o timestamp atual, e a coluna _col1 retorna o ano atual com base no sistema de datas por semana ISO.

Funções de intervalo de tempo

**Função date_trunc**

A função date_trunc trunca uma expressão de data e hora para uma unidade de tempo especificada. É comum utilizar esse recurso para agregação e análise baseadas em tempo.

Sintaxe

date_trunc(unit, x)

Parâmetros

Parâmetro

Descrição

unit

Unidade de tempo. Os valores válidos são millisecond, second, minute, hour, day, week, month, quarter e year. Para mais informações, consulte Descrição das unidades.

x

Expressão de data e hora.

Nota

A função date_trunc agrega dados apenas em intervalos de tempo fixos, como por minuto ou por hora. Para agrupar dados em dimensões de tempo flexíveis, como a cada 5 minutos, utilize o operador módulo.

* | SELECT count(1) AS pv,  __time__ - __time__ %300 AS time GROUP BY time LIMIT 100

Tipo de retorno

O tipo de retorno corresponde ao tipo do parâmetro x.

Exemplo

Calcule o tempo médio de solicitação por minuto e, em seguida, agrupe e ordene os resultados por tempo.

  • Instrução de consulta e análise (Debug)

    * |
    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
  • O resultado da consulta e análise inclui a coluna time (alinhada por minuto), a coluna avg_time (tempo médio de solicitação) e a coluna date (data atual).

**Função date_add**

A função date_add adiciona ou subtrai um intervalo de tempo especificado de um valor de data ou hora.

Sintaxe

date_add(unit, n, x)

Parâmetros

Parâmetro

Descrição

unit

Unidade de tempo. Os valores válidos são millisecond, second, minute, hour, day, week, month, quarter e year. Para mais informações, consulte Descrição das unidades.

n

Intervalo de tempo a ser adicionado. Um valor negativo subtrai o intervalo.

x

Expressão de data e hora do tipo timestamp.

Tipo de retorno

Um valor timestamp.

Exemplo

Consulte os logs de ontem.

  • Instrução de consulta e análise (Debug)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(current_timestamp)
      AND __time__ > to_unixtime(date_add('day', -1, current_timestamp))
  • O resultado da consulta e análise contém os dados de log de ontem, incluindo campos como body_bytes_sent, client_ip, host e http_user_agent.

**Função date_diff**

A função date_diff retorna a diferença entre duas expressões de data ou hora.

Sintaxe

date_diff(unit, x, y)

Parâmetros

Parâmetro

Descrição

unit

Unidade de tempo. Os valores válidos são millisecond, second, minute, hour, day, week, month, quarter e year. Para mais informações, consulte Descrição das unidades.

x

Expressão de data e hora do tipo timestamp.

y

Expressão de data e hora do tipo timestamp.

Tipo de retorno

Um valor bigint.

Exemplo

Calcule a duração de uso do servidor com base nos campos UsageStartTime e UsageEndTime.

  • Instrução de consulta e análise

    * | SELECT  date_diff('hour', UsageStartTime, UsageEndTime) AS "时间差(小时)"
  • A consulta retorna uma diferença de tempo de 24 horas.

Função de preenchimento de séries temporais

Função time_series

A função time_series preenche pontos de dados ausentes dentro da janela de tempo de uma consulta.

Importante

É obrigatório usar a função time_series com as cláusulas GROUP BY e ORDER BY. A cláusula ORDER BY não suporta ordem decrescente (DESC). Se a função for utilizada em uma subconsulta, a consulta externa não poderá incluir as cláusulas GROUP BY ou ORDER BY.

Sintaxe

time_series(x, window_time, format, padding_data)

Parâmetros

Parâmetro

Descrição

x

Coluna de tempo, como __time__. Os valores da coluna devem ser do tipo long ou timestamp.

window_time

Tamanho da janela. A unidade pode ser s (segundo), m (minuto), h (hora) ou d (dia). Exemplos: 2h, 5m e 3d.

format

Formato de tempo para o resultado. Para mais informações, consulte Especificações de formato.

padding_data

Define como preencher valores ausentes. Os valores válidos incluem:

  • 0: Preenche o valor ausente com 0.

  • null: Preenche o valor ausente com null.

  • last: Substitui o valor ausente pelo valor do ponto de tempo anterior.

  • next: Utiliza o valor do próximo ponto de tempo para preencher a lacuna.

  • avg: Calcula a média dos valores dos dois pontos de tempo adjacentes para substituir o valor ausente.

Tipo de retorno

Um valor do tipo varchar.

Exemplo

Preencha os dados com granularidade de tempo de 2 horas e substitua os valores ausentes por 0.

  • Instrução de consulta e análise (Debug)

    * | 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 tabela a seguir mostra os resultados da consulta e análise. A consulta retorna a coluna time com granularidade de 2 horas e a coluna num correspondente.

Especificadores de formato

Formato

Descrição

%a

Nome abreviado do dia da semana. Por exemplo, Sun e Sat.

%b

Nome abreviado do mês. Por exemplo, Jan e Dec.

%c

Mês como número decimal. Intervalo: 1 a 12.

%D

Dia do mês com sufixo ordinal em inglês, como 1st, 2nd ou 3rd.

%d

Dia do mês como número decimal preenchido com zero. Intervalo: 01 a 31.

%e

Dia do mês como número decimal. Intervalo: 1 a 31.

%H

Hora (relógio de 24 horas) como número decimal preenchido com zero. Intervalo: 00 a 23.

%h

Hora (relógio de 12 horas) como número decimal preenchido com zero. Intervalo: 01 a 12.

%i

Minuto como número decimal preenchido com zero. Intervalo: 00 a 59.

%j

Dia do ano como número decimal preenchido com zero. Intervalo: 001 a 366.

%k

Hora (relógio de 24 horas) como número decimal. Intervalo: 0 a 23.

%l

Hora (relógio de 12 horas) como número decimal. Intervalo: 1 a 12.

%M

Nome completo do mês. Por exemplo, January e December.

%m

Mês como número decimal preenchido com zero. Intervalo: 01 a 12.

%p

AM ou PM.

%r

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

%S

Segundo como número decimal preenchido com zero. Intervalo: 00 a 59.

%s

Número de segundos desde a época UNIX.

%f

Microssegundo como número decimal preenchido com zero. Intervalo: 000000 a 999999.

%T

Hora no formato de 24 horas (hh:mm:ss).

%v

Número da semana do ano (01-53), considerando segunda-feira como o primeiro dia da semana.

%W

Nome completo do dia da semana. Por exemplo, Sunday e Saturday.

%Y

Ano com quatro dígitos, como 2020.

%y

Ano com dois dígitos, como 20.

%%

Caractere literal %.

Unidade

Unidade

Descrição

millisecond

Milissegundo

second

Segundo

minute

Minuto

hour

Hora

day

Dia

week

Semana

month

Mês

quarter

Trimestre

year

Ano