doc/user/content/sql/functions/date-trunc.md
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.
{{% include-syntax file="examples/sql_functions/date_trunc" example="syntax" %}}
| Parameter | Type | Description |
|---|---|---|
| val | timestamp, timestamp with time zone, interval | The value you want to truncate. |
date_trunc returns the same type as val.
SELECT date_trunc('hour', TIMESTAMP '2019-11-26 15:56:46.241150') AS hour_trunc;
hour_trunc
-------------------------------
2019-11-26 15:00:00.000000000
SELECT date_trunc('year', TIMESTAMP '2019-11-26 15:56:46.241150') AS year_trunc;
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;
millennium_trunc
-------------------------------
1000 years