Funzione DATE_TRUNC - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Funzione DATE_TRUNC

La funzione DATE_TRUNC tronca un'espressione di timestamp o letterale in base alla parte di data specificata, ad esempio ora, settimana o mese.

Sintassi

DATE_TRUNC('datepart', timestamp)

Argomenti

datepart

La parte di data in corrispondenza della quale troncare il valore di timestamp. L'input timestamp viene troncato alla precisione dell'input datepart. Ad esempio, month viene troncato al primo giorno del mese. I formati validi sono:

  • microsecond, microseconds

  • millisecond, milliseconds

  • second, seconds

  • minute, minutes

  • hour, hours

  • day, days

  • week, weeks

  • month, months

  • quarter, quarters

  • year, years

  • decade, decades

  • century, centuries

  • millennium, millennia

Per ulteriori informazioni sulle abbreviazioni di alcuni formati, consulta Parti di data per funzioni di data e timestamp

timestamp

Una colonna timestamp o un'espressione che viene implicitamente convertita in un timestamp.

Tipo restituito

TIMESTAMP

Esempi

Tronca il timestamp di input al secondo.

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

Tronca il timestamp di input al minuto.

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

Tronca il timestamp di input all'ora.

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

Tronca il timestamp di input al giorno.

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

Tronca il timestamp di input al primo giorno di un mese.

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

Tronca il timestamp di input al primo giorno di un trimestre.

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

Tronca il timestamp di input al primo giorno di un anno.

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

Tronca il timestamp di input al primo giorno di un secolo.

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

Tronca il timestamp di input al lunedì di una settimana.

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

Nell'esempio seguente, la funzione DATE_TRUNC utilizza la parte di data "week" per restituire la data del lunedì di ogni settimana.

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