PostgreSQL – DATE_TRUNC函数
在 PostgreSQL 中, DATE_TRUNC函数用于截断特定且高精度的时间戳类型或间隔类型。
Syntax: date_trunc('datepart', field)
日期部分 上面语法中的参数用于截断字段之一,下面列出的字段类型:
- 千年
- 世纪
- 十年
- 年
- 四分之一
- 月
- 星期
- 日
- 小时
- 分钟
- 第二
- 毫秒
- 微秒
field 参数包含要截断的 TIMESTAMP 类型值或 INTERVAL 类型值。它也可以是返回上述类型之一的表达式。 date_trunc函数通常返回 TIMESTAMP 类型值或 INTERVAL 类型值。
示例 1:
以下语句将TIMESTAMP值截断为小时日期部分:
SELECT DATE_TRUNC('hour', TIMESTAMP '2020-03-17 02:09:30');
输出:
示例 2:
以下查询从示例数据库的租用表(即 dvdrental )中计算员工每年的租用次数:
SELECT
staff_id,
date_trunc('year', rental_date) y,
COUNT (rental_id) rental
FROM
rental
GROUP BY
staff_id, y
ORDER BY
staff_id
输出: