Função DATE_TRUNC - Amazon Redshift

Função DATE_TRUNC

A função DATE_TRUNC trunca uma expressão de timestamp ou literal com base na parte da data especificada, tal como hora, dia ou mês.

Sintaxe

DATE_TRUNC('datepart', timestamp)

Argumentos

datepart

A parte da data para qual truncar o valor de timestamp. A entrada timestamp é truncada para que a entrada datepart seja precisa. Por exemplo, month trunca para o primeiro dia do mês. Os formatos válidos são:

  • microssegundo, microssegundos

  • milissegundo, milissegundos

  • segundo, segundos

  • minuto, minutos

  • hora, horas

  • dia, dias

  • semana, semanas

  • mês, meses

  • trimestre, trimestres

  • ano, anos

  • década, décadas

  • século, séculos

  • milênio, milênios

Para obter mais informações sobre a abreviação de alguns formatos, consulte Partes da data para funções de data ou de timestamp

timestamp

Uma coluna de timestamp ou uma expressão que converta implicitamente para um timestamp.

Tipo de retorno

TIMESTAMP

Exemplos

Truncar o carimbo de data/hora de entrada para o segundo.

SELECT DATE_TRUNC('second', TIMESTAMP '20200430 04:05:06.789'); date_trunc 2020-04-30 04:05:06

Truncar timestamp para minuto.

SELECT DATE_TRUNC('minute', TIMESTAMP '20200430 04:05:06.789'); date_trunc 2020-04-30 04:05:00

Truncar timestamp para hora.

SELECT DATE_TRUNC('hour', TIMESTAMP '20200430 04:05:06.789'); date_trunc 2020-04-30 04:00:00

Truncar timestamp para dia.

SELECT DATE_TRUNC('day', TIMESTAMP '20200430 04:05:06.789'); date_trunc 2020-04-30 00:00:00

Truncar timestamp para o primeiro dia de um mês.

SELECT DATE_TRUNC('month', TIMESTAMP '20200430 04:05:06.789'); date_trunc 2020-04-01 00:00:00

Truncar timestamp para o primeiro dia de um trimestre.

SELECT DATE_TRUNC('quarter', TIMESTAMP '20200430 04:05:06.789'); date_trunc 2020-04-01 00:00:00

Truncar timestamp para o primeiro dia de um ano.

SELECT DATE_TRUNC('year', TIMESTAMP '20200430 04:05:06.789'); date_trunc 2020-01-01 00:00:00

Truncar timestamp para o primeiro dia de um século.

SELECT DATE_TRUNC('millennium', TIMESTAMP '20200430 04:05:06.789'); date_trunc 2001-01-01 00:00:00

Trunque o carimbo de data/hora de entrada para o a segunda-feira de uma semana.

select date_trunc('week', TIMESTAMP '20220430 04:05:06.789'); date_trunc 2022-04-25 00:00:00

No exemplo a seguir, a função DATE_TRUNC usa a parte da data “week” para retornar a data para a segunda-feira de cada semana.

select date_trunc('week', saletime), sum(pricepaid) from sales where saletime like '2008-09%' group by date_trunc('week', saletime) order by 1; date_trunc | sum ------------+------------- 2008-09-01 | 2474899 2008-09-08 | 2412354 2008-09-15 | 2364707 2008-09-22 | 2359351 2008-09-29 | 705249