title: "date_trunc function" description: "Truncates a timestamp at the specified time component" menu: main:
parent: 'sql-functions'
date_trunc
computes _tsval'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
.
{{< diagram "func-date-trunc.svg" >}}
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