PostgreSQL extract() 函数使用指南
PostgreSQL extract() 函数从指定的时间戳或者时间间隔中抽取指定的部分并返回。
extract() 语法
这是 PostgreSQL extract() 函数的语法:
extract(field FROM source TIMESTAMP) -> DOUBLE PRECISION
extract(field FROM source DATE) -> DOUBLE PRECISION
extract(field FROM source TIME) -> DOUBLE PRECISION
extract(field FROM source INTERVAL) -> DOUBLE PRECISION
参数
field-
必需的。 它是表示要抽取的部分关键字。您可以是使用以下关键字:
CENTURY: 世纪DAY: 天DECADE: 十年,即年份除以 10DOW: 星期几。 星期天为 0,星期六为 6。DOY: 一年中的某一天 (1–365/366)EPOCH: 对于TIMESTAMP值来说,返回 Unix 时间戳。对于间隔值来说,返回总的秒数。HOUR: 小时 0-23ISODOW: 星期几。 星期一为 1,星期天为 7。ISOYEAR: 日期所在的 ISO 8601 周编号年份(不适用于间隔)JULIAN: 与日期或时间戳对应的儒略历日期(不适用于间隔)MICROSECONDS: 秒乘以 1 000 000MILLENNIUM: 千年期MILLISECONDS: 秒乘以 1 000MINUTE: 分钟MONTH: 对于TIMESTAMP值来说,返回一年中的月份 1 - 12;对于间隔值来说,返回月数 0 - 11。QUARTER: 季节 1-4SECOND: 秒TIMEZONE: 时区偏移量,以秒为单位TIMEZONE_HOUR: 时区偏移量的小时部分TIMEZONE_MINUTE: 时区偏移量的分钟部分WEEK: 一年中的 ISO 8601 周编号YEAR: 年份
source-
必需的。 它可以是时间戳、日期、时间或者间隔类型的。
返回值
PostgreSQL extract() 函数返回一个从 source 返回通过字符串 field 指定的部分。
extract() 示例
你能使用 extract() 函数返回一个时间戳值所在的世纪。如下:
SELECT extract(CENTURY FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
---------
21你能使用 extract() 函数获得一个时间戳值的天字段。如下:
SELECT extract(DAY FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
---------
16你能使用 extract() 函数获得一个间隔值的中有几天。如下:
SELECT extract(DAY FROM INTERVAL '2 days 10 minutes');
extract
---------
2你能使用 extract() 函数获得一个时间戳值的 DECADE 字段。如下:
SELECT extract(DECADE FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
---------
202你能使用 extract() 函数获得一个时间戳值是星期几(0-6 表示星期天到星期六)。如下:
SELECT extract(DOW FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
---------
1你能使用 extract() 函数获得一个时间戳值是一年中的第几天。如下:
SELECT extract(DOY FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
---------
136你能使用 extract() 函数将一个时间戳值转为 Unix 时间戳。如下:
SELECT extract(EPOCH FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
-------------------
1652704873.662522你能使用 extract() 函数获得一个时间戳值中的小时部分。如下:
SELECT extract(HOUR FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
---------
12你能使用 extract() 函数获得一个时间戳值是星期几(1-7 表示星期一到星期天)。如下:
SELECT extract(ISODOW FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
---------
1你能使用 extract() 函数获得一个时间戳值落在 ISO 8601 周编号年分。如下:
SELECT extract(ISOYEAR FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
---------
2022你能使用 extract() 函数获得一个时间戳值对应的儒略日期。如下:
SELECT extract(JULIAN FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
------------------------------
2459716.52863035326388888889你能使用 extract() 函数将时间戳值中的全秒转为微秒。如下:
SELECT extract(MICROSECONDS FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
----------
13662522你能使用 extract() 函数获得一个时间戳值所处的千年期。如下:
SELECT extract(MILLENNIUM FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
---------
3你能使用 extract() 函数将时间戳值中的全秒转为毫秒。如下:
SELECT extract(MILLISECONDS FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
-----------
13662.522你能使用 extract() 函数获得一个时间戳值中的分钟部分。如下:
SELECT extract(MINUTE FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
---------
41你能使用 extract() 函数获得一个时间戳值中的月份部分。如下:
SELECT extract(MONTH FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
---------
5你能使用 extract() 函数获得一个时间戳值中的季节部分。如下:
SELECT extract(QUARTER FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
---------
2你能使用 extract() 函数获得一个时间戳值中的秒部分。如下:
SELECT extract(SECOND FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
-----------
13.662522你能使用 extract() 函数获得一个时间戳值位于一年中的第几周。如下:
SELECT extract(WEEK FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
---------
20你能使用 extract() 函数获得一个时间戳值中的年份部分。如下:
SELECT extract(YEAR FROM TIMESTAMP '2022-05-16 12:41:13.662522');
extract
---------
2022