date_part()

用于检索日期或时间戳元素的函数

date_part() 是一个系统函数,用于检索日期或时间戳的元素,类似于 extract()

date_part() 添加于 PostgreSQL 6.1

用法

date_part(field text, source date) → double precision
date_part(field text, source interval) → double precision
date_part(field text, source timestamp) → double precision
date_part(field text, source timestamp with time zone) → double precision

date_part() 与SQL标准的 extract() 函数的功能基本相同,最初是为了提供 Ingres 兼容性。从 PostgreSQL 14 开始,建议使用 extract(),因为该函数现在返回 numeric 类型,而 date_part()extract() (在 PostgreSQL 14 之前) 返回的双精度值在某些情况下可能会导致精度损失。

更改历史

示例

date_part() 的用法示例

postgres=# SELECT date_part('year', now());
 date_part 
-----------
      2021
(1 row)

PostgreSQL 14 及更高版本中,date_part() 返回的值可能与 extract() 返回的值不同。

postgres=# WITH now AS (
  SELECT NOW() AS now
)
SELECT date_part('epoch', now.now), extract('epoch' FROM now.now)
  FROM now;
    date_part     |      extract      
------------------+-------------------
 1637913804.90921 | 1637913804.909210
(1 row)

分类

日期和时间系统函数

参见

extract()

反馈

提交关于 "date_part()" 的任何评论、建议或更正 在此处