extract()

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

extract() 是一个用于检索日期或时间值元素的系统函数。

extract() 一直存在于 PostgreSQL 中。

用法

PostgreSQL 14 及更高版本

extract ( field from timestamp ) → numeric
extract ( field from interval ) → numeric

PostgreSQL 13 及更早版本

extract ( field from timestamp ) → double precision
extract ( field from interval ) → double precision

更改历史记录

  • PostgreSQL 14
  • PostgreSQL 9.6
    • 改进了无限日期时间的处理 (提交 647d87c5)
      • 根据需要返回 infinity-infinity,当请求的字段是单调递增的字段时,例如 yearepoch
      • 在其他情况下返回 NULL
      • 如果提供了无效的单位名称,则抛出 ERROR

示例

extract() 的基本用法示例

postgres=# SELECT extract('year' FROM now());
 extract 
---------
    2021
(1 row)

尝试提取无效的时区单位

postgres=# SELECT extract('foo' FROM now());
ERROR:  timestamp with time zone units "foo" not recognized

分类

日期和时间系统函数

另请参阅

date_part()

反馈

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