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.
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, enquantostatusou"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 |
current_date |
Retorna a data atual. |
√ |
× |
|
|
current_time |
Retorna a hora atual e o fuso horário. |
√ |
× |
||
|
current_timestamp |
Retorna a data, a hora e o fuso horário atuais. |
√ |
× |
||
|
current_timezone() |
Retorna o fuso horário atual. |
√ |
× |
||
|
date(x) |
Retorna a parte da data de uma expressão de data ou timestamp. |
√ |
× |
||
|
date_format(x, format) |
Converte uma expressão de timestamp em uma string no formato especificado. |
√ |
√ |
||
|
date_parse(x, format) |
Analisa uma expressão de string e a converte em timestamp usando o formato especificado. |
√ |
√ |
||
|
from_iso8601_date(x) |
Converte uma string de data ISO 8601 em um valor de data. |
√ |
× |
||
|
from_iso8601_timestamp(x) |
Converte uma string de timestamp ISO 8601 em um valor de timestamp. |
√ |
× |
||
|
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. |
√ |
× |
||
|
localtime |
Retorna a hora local. |
√ |
× |
||
|
localtimestamp |
Retorna a data e a hora locais. |
√ |
× |
||
|
now() |
Retorna a data e a hora atuais. A função now é um alias para a função current_timestamp. |
√ |
× |
||
|
to_iso8601(x) |
Converte uma expressão de data ou timestamp em uma string formatada em ISO 8601. |
√ |
× |
||
|
to_unixtime(x) |
Converte uma expressão de timestamp em um timestamp UNIX. |
√ |
√ |
||
|
current_unixtimestamp() |
Retorna o timestamp UNIX atual do sistema. |
× |
√ |
||
|
Funções de extração de data e hora |
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. |
√ |
× |
|
|
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. |
√ |
× |
||
|
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. |
√ |
√ |
||
|
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. |
√ |
√ |
||
|
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. |
√ |
√ |
||
|
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. |
√ |
√ |
||
|
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. |
√ |
× |
||
|
hour(x) |
Extrai a hora do dia (no formato de 24 horas) de uma expressão de data ou timestamp. |
√ |
√ |
||
|
minute(x) |
Extrai o minuto da hora de uma expressão de data ou timestamp. |
√ |
√ |
||
|
month(x) |
Extrai o mês do ano de uma expressão de data ou timestamp. |
√ |
√ |
||
|
quarter(x) |
Retorna o trimestre do ano de uma expressão de data ou timestamp. |
√ |
√ |
||
|
second(x) |
Extrai o segundo do minuto de uma expressão de data ou timestamp. |
√ |
√ |
||
|
timezone_hour(x) |
Retorna o componente de hora do deslocamento do fuso horário. |
√ |
× |
||
|
timezone_minute(x) |
Retorna o componente de minuto do deslocamento do fuso horário. |
√ |
× |
||
|
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. |
√ |
× |
||
|
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. |
√ |
× |
||
|
year(x) |
Extrai o ano de uma expressão de data ou timestamp. |
√ |
√ |
||
|
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. |
√ |
√ |
||
|
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 |
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. |
√ |
× |
|
|
date_add(unit, N, x) |
Adiciona um intervalo de N unidades a x. |
√ |
√ |
||
|
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 |
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
_col0retorna 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
_col0retorna 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 |
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
_col0retorna o timestamp completo, e a coluna_col1retorna 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 |
|
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_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
StartTimede 2021-07-21 20:00:00.000, umEndTimede 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
_col0retorna 2020-05-03, que é um valor do tipodate.
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 |
|
hours |
O componente de hora do deslocamento do fuso horário, como |
|
minutes |
O componente de minuto do deslocamento do fuso horário, como |
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
_col0retorna 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
_col0retorna 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 |
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
ISO8601retorna 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 |
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:
BIGINTDescriçã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_unixtimepara 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 |
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
_col0retorna a data atual, e a coluna_col1retorna 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 |
|
x |
Uma expressão que retorna um valor do tipo |
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
_col0retorna 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 |
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
_col0retorna o timestamp atual, e a coluna_col1retorna 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 |
|
x |
Expressão de data e hora. |
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 |
|
n |
Intervalo de tempo a ser adicionado. Um valor negativo subtrai o intervalo. |
|
x |
Expressão de data e hora do tipo |
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 |
|
x |
Expressão de data e hora do tipo |
|
y |
Expressão de data e hora do tipo |
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.
É 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 |
|
window_time |
Tamanho da janela. A unidade pode ser |
|
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:
|
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, |
|
%b |
Nome abreviado do mês. Por exemplo, |
|
%c |
Mês como número decimal. Intervalo: 1 a 12. |
|
%D |
Dia do mês com sufixo ordinal em inglês, como |
|
%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, |
|
%m |
Mês como número decimal preenchido com zero. Intervalo: 01 a 12. |
|
%p |
|
|
%r |
Hora no formato de 12 horas ( |
|
%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 ( |
|
%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, |
|
%Y |
Ano com quatro dígitos, como |
|
%y |
Ano com dois dígitos, como |
|
%% |
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 |