Documentation
/ SQL
/ Functions
Date Part Functions
date_part
、date_diff
和 date_trunc
函数可用于操作时间类型字段,例如 DATE
和 TIMESTAMP
。
这些字段被指定为包含字段部分名称的字符串。
以下是所有可用日期部分说明符的完整列表。
示例是时间戳 2021-08-03 11:59:44.123456
的相应部分。
指定符 |
描述 |
同义词 |
示例 |
'century' |
格里高利世纪 |
'cent' , 'centuries' , 'c' |
21 |
'day' |
公历日 |
'days' , 'd' , 'dayofmonth' |
3 |
'decade' |
格里高利十年 |
'dec' , 'decades' , 'decs' |
202 |
'hour' |
小时 |
'hr' , 'hours' , 'hrs' , 'h' |
11 |
'microseconds' |
分钟以下的微秒 |
'microsecond' , 'us' , 'usec' , 'usecs' , 'usecond' , 'useconds' |
44123456 |
'millennium' |
格里高利千年 |
'mil' , 'millenniums' , 'millenia' , 'mils' , 'millenium' |
3 |
'milliseconds' |
亚分钟毫秒 |
'millisecond' , 'ms' , 'msec' , 'msecs' , 'msecond' , 'mseconds' |
44123 |
'minute' |
分钟 |
'min' , 'minutes' , 'mins' , 'm' |
59 |
'month' |
公历月份 |
'mon' , 'months' , 'mons' |
8 |
'quarter' |
一年中的季度(1-4) |
'quarters' |
3 |
'second' |
秒 |
'sec' , 'seconds' , 'secs' , 's' |
44 |
'year' |
公历年 |
'yr' , 'y' , 'years' , 'yrs' |
2021 |
Specifier |
Description |
Synonyms |
Example |
'dayofweek' |
一周中的第几天(星期日 = 0,星期六 = 6) |
'weekday' , 'dow' |
2 |
'dayofyear' |
一年中的第几天 (1-365/366) |
'doy' |
215 |
'epoch' |
自1970-01-01以来的秒数 |
|
1627991984 |
'era' |
格里高利历时代(公元/公元,公元前/公元前) |
|
1 |
'isodow' |
ISO 星期几(星期一 = 1,星期日 = 7) |
|
2 |
'isoyear' |
ISO 年份编号(从包含1月4日的周一开始) |
|
2021 |
'timezone_hour' |
时区偏移小时部分 |
|
0 |
'timezone_minute' |
时区偏移分钟部分 |
|
0 |
'timezone' |
时区偏移量(以秒为单位) |
|
0 |
'week' |
周数 |
'weeks' , 'w' |
31 |
'yearweek' |
ISO年份和周数以YYYYWW 格式显示 |
|
202131 |
请注意,除非安装了如ICU之类的时间区插件以支持TIMESTAMP WITH TIME ZONE
,否则时间区部分都为零。
有专门的提取函数来获取某些子字段:
描述 |
世纪。 |
示例 |
century(date '1992-02-15') |
Result |
20 |
描述 |
天。 |
示例 |
day(date '1992-02-15') |
Result |
15 |
描述 |
天(同义词)。 |
示例 |
dayofmonth(date '1992-02-15') |
Result |
15 |
描述 |
数字表示的星期几(星期日 = 0,星期六 = 6)。 |
示例 |
dayofweek(date '1992-02-15') |
Result |
6 |
描述 |
一年中的第几天(从1开始,即1月1日=1)。 |
示例 |
dayofyear(date '1992-02-15') |
结果 |
46 |
描述 |
十年(年份 / 10)。 |
示例 |
decade(date '1992-02-15') |
结果 |
199 |
描述 |
自1970-01-01以来的秒数。 |
示例 |
epoch(date '1992-02-15') |
结果 |
698112000 |
描述 |
日历纪元。 |
示例 |
era(date '0044-03-15 (BC)') |
Result |
0 |
描述 |
小时。 |
示例 |
hour(timestamp '2021-08-03 11:59:44.123456') |
结果 |
11 |
描述 |
数字ISO工作日(星期一 = 1,星期日 = 7)。 |
示例 |
isodow(date '1992-02-15') |
Result |
6 |
描述 |
ISO 年份编号(从包含1月4日的周一开始)。 |
示例 |
isoyear(date '2022-01-01') |
结果 |
2021 |
描述 |
亚分钟微秒。 |
示例 |
microsecond(timestamp '2021-08-03 11:59:44.123456') |
结果 |
44123456 |
描述 |
千年。 |
示例 |
millennium(date '1992-02-15') |
Result |
2 |
描述 |
亚分钟毫秒。 |
示例 |
millisecond(timestamp '2021-08-03 11:59:44.123456') |
结果 |
44123 |
描述 |
分钟。 |
示例 |
minute(timestamp '2021-08-03 11:59:44.123456') |
结果 |
59 |
描述 |
月份。 |
示例 |
month(date '1992-02-15') |
Result |
2 |
描述 |
季度。 |
示例 |
quarter(date '1992-02-15') |
Result |
1 |
描述 |
秒。 |
示例 |
second(timestamp '2021-08-03 11:59:44.123456') |
结果 |
44 |
描述 |
时区偏移的小时部分。 |
示例 |
timezone_hour(date '1992-02-15') |
Result |
0 |
描述 |
时区偏移的分钟部分。 |
示例 |
timezone_minute(date '1992-02-15') |
Result |
0 |
描述 |
时区偏移量,单位为分钟。 |
示例 |
timezone(date '1992-02-15') |
Result |
0 |
描述 |
ISO周。 |
示例 |
week(date '1992-02-15') |
Result |
7 |
描述 |
数字星期同义词(星期日 = 0,星期六 = 6)。 |
示例 |
weekday(date '1992-02-15') |
Result |
6 |
描述 |
ISO周(同义词)。 |
示例 |
weekofyear(date '1992-02-15') |
Result |
7 |
描述 |
年份。 |
示例 |
year(date '1992-02-15') |
Result |
1992 |
描述 |
BIGINT 类型的组合ISO年份和2位数的ISO周数版本。 |
示例 |
yearweek(date '1992-02-15') |
结果 |
199207 |