PostgreSQL date_part() 函数使用指南
PostgreSQL date_part()
函数从指定的时间戳或者时间间隔中抽取指定的部分并返回。
date_part()
语法
这是 PostgreSQL date_part()
函数的语法:
date_part(field TEXT, source TIMESTAMP) -> DOUBLE PRECISION
date_part(field TEXT, source DATE) -> DOUBLE PRECISION
date_part(field TEXT, source TIME) -> DOUBLE PRECISION
date_part(field TEXT, 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 date_part()
函数返回从 source
返回通过字符串 field
指定的部分。
date_part()
示例
你能使用 date_part()
函数返回一个时间戳值所在的世纪。如下:
SELECT date_part('century', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-----------
21
你能使用 date_part()
函数获得一个时间戳值的天字段。如下:
SELECT date_part('day', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-----------
16
你能使用 date_part()
函数获得一个间隔值的中的天数。如下:
SELECT date_part('day', INTERVAL '2 days 10 minutes');
date_part
-----------
2
你能使用 date_part()
函数获得一个时间戳值的 decade
字段。如下:
SELECT date_part('decade', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-----------
202
你能使用 date_part()
函数获得一个时间戳值是星期几(0-6 表示星期天到星期六)。如下:
SELECT date_part('dow', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-----------
1
你能使用 date_part()
函数获得一个时间戳值是一年中的第几天。如下:
SELECT date_part('doy', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-----------
136
你能使用 date_part()
函数将一个时间戳值转为 Unix 时间戳。如下:
SELECT date_part('epoch', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-------------------
1652694073.662522
你能使用 date_part()
函数获得一个时间戳值中的小时部分。如下:
SELECT date_part('hour', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-----------
12
你能使用 date_part()
函数获得一个时间戳值是星期几(1-7 表示星期一到星期天)。如下:
SELECT date_part('isodow', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-----------
1
你能使用 date_part()
函数获得一个时间戳值落在 ISO 8601 周编号年分。如下:
SELECT date_part('isoyear', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-----------
2022
你能使用 date_part()
函数获得一个时间戳值对应的儒略日期。如下:
SELECT date_part('julian', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-------------------
2459716.528630353
你能使用 date_part()
函数将时间戳值中的全秒转为微秒。如下:
SELECT date_part('microseconds', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-----------
13662522
你能使用 date_part()
函数获得一个时间戳值所处的千年期。如下:
SELECT date_part('millennium', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-----------
3
你能使用 date_part()
函数将时间戳值中的全秒转为毫秒。如下:
SELECT date_part('milliseconds', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-----------
13662.522
你能使用 date_part()
函数获得一个时间戳值中的分钟部分。如下:
SELECT date_part('minute', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-----------
41
你能使用 date_part()
函数获得一个时间戳值中的月份部分。如下:
SELECT date_part('month', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-----------
5
你能使用 date_part()
函数获得一个时间戳值中的季节部分。如下:
SELECT date_part('quarter', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-----------
2
你能使用 date_part()
函数获得一个时间戳值中的秒部分。如下:
SELECT date_part('second', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-----------
13.662522
你能使用 date_part()
函数获得一个时间戳值位于一年中的第几周。如下:
SELECT date_part('week', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-----------
20
你能使用 date_part()
函数获得一个时间戳值中的年份部分。如下:
SELECT date_part('year', TIMESTAMP '2022-05-16 12:41:13.662522');
date_part
-----------
2022