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