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()" 的评论、建议或更正 此处