PostgreSQL date_trunc() 函数使用指南

PostgreSQL date_trunc() 函数将一个指定的时间戳或间隔值截断到指定的部分并返回。

date_trunc() 语法

这是 PostgreSQL date_trunc() 函数的语法:

date_trunc(field TEXT, source TIMESTAMP) -> TIMESTAMP
date_trunc(field TEXT, source TIMESTAMPTZ, time_zone TEXT) -> TIMESTAMPTZ
date_trunc(field TEXT, source INTERVAL) -> INTERVAL

参数

field

必需的。 它是一个字符串表示要截取到部分。您可以是使用以下值:

  • microseconds
  • milliseconds
  • second
  • minute
  • hour
  • day
  • week
  • month
  • quarter
  • year
  • decade
  • century
  • millennium
source
必需的。 它可以是时间戳、或者间隔类型的。
time_zone
必需的。 时区。

返回值

PostgreSQL date_trunc() 函数将一个指定的时间戳或间隔值截断到指定的部分并返回。

date_trunc() 示例

下面的示例展示了如何使用 date_trunc() 函数将一个时间戳值截断到小时。如下:

SELECT date_trunc('hour', TIMESTAMP '2022-05-16 12:41:13.662522');
     date_trunc
---------------------
 2022-05-16 12:00:00

正如结果中展示的,小时和小时以上的部分被保留下来了,而分钟和秒的值变成了 0。

下面的示例展示了如何使用 date_trunc() 函数将一个时间戳值截断到年。如下:

SELECT date_trunc('year', TIMESTAMP '2022-05-16 12:41:13.662522');
     date_trunc
---------------------
 2022-01-01 00:00:00

您还可以使用 date_trunc() 函数截断一个间隔类型的值。比如:

SELECT date_trunc('hour', INTERVAL '1 days 20:10:10');
   date_trunc
----------------
 1 day 20:00:00