date_trunc function

date_trunc computes ts_val’s “floor value” of the specified time component, i.e. the largest time component less than or equal to the provided value.

To align values along arbitrary values, see date_bin.


date_trunc ( ' microseconds milliseconds second minute hour day week month quarter year decade century millenium ' , val )
Parameter Type Description
val timestamp, timestamp with time zone, interval The value you want to truncate.

Return value

date_trunc returns the same type as val.


SELECT date_trunc('hour', TIMESTAMP '2019-11-26 15:56:46.241150') AS hour_trunc;
 2019-11-26 15:00:00.000000000
SELECT date_trunc('year', TIMESTAMP '2019-11-26 15:56:46.241150') AS year_trunc;
 2019-01-01 00:00:00.000000000
SELECT date_trunc('millennium', INTERVAL '1234 years 11 months 23 days 23:59:12.123456789') AS millennium_trunc;
 1000 years
Back to top ↑