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 |
年份 |
公历年 | yr , y , years , yrs |
2021 |
仅可用作日期部分说明符的说明符
说明符 | 描述 | 同义词 | 示例 |
---|---|---|---|
dayofweek |
星期几(星期日 = 0,星期六 = 6) | weekday , dow |
2 |
dayofyear |
一年中的第几天 (1-365/366) | doy |
215 |
epoch |
自 1970-01-01 以来的秒数 | 1627991984 |
|
era |
公历纪元 (CE/AD, BCE/BC) | 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) |
世纪。 |
day(date) |
天。 |
dayofmonth(date) |
天(同义词)。 |
dayofweek(date) |
数字表示的星期几(星期日 = 0,星期六 = 6)。 |
dayofyear(date) |
一年中的第几天(从 1 开始,即 1 月 1 日 = 1)。 |
decade(date) |
十年 (年 / 10)。 |
epoch(date) |
自 1970-01-01 以来的秒数。 |
era(date) |
日历纪元。 |
hour(date) |
小时。 |
isodow(date) |
数字表示的 ISO 星期几(星期一 = 1,星期日 = 7)。 |
isoyear(date) |
ISO 年份编号(从包含 1 月 4 日的周一算起)。 |
microsecond(date) |
分钟以下的微秒。 |
millennium(date) |
千年。 |
millisecond(date) |
分钟以下的毫秒。 |
minute(date) |
分钟。 |
month(date) |
月。 |
quarter(date) |
季度。 |
second(date) |
秒。 |
timezone_hour(date) |
时区偏移小时部分。 |
timezone_minute(date) |
时区偏移分钟部分。 |
timezone(date) |
以分钟为单位的时区偏移。 |
week(date) |
ISO 周。 |
weekday(date) |
数字表示的星期几同义词(星期日 = 0,星期六 = 6)。 |
weekofyear(date) |
ISO 周(同义词)。 |
year(date) |
年。 |
yearweek(date) |
组合 ISO 年份编号和 2 位 ISO 周数的 BIGINT 。 |
century(date)
描述 | 世纪。 |
示例 | century(DATE '1992-02-15') |
结果 | 20 |
day(date)
描述 | 天。 |
示例 | day(DATE '1992-02-15') |
结果 | 15 |
dayofmonth(date)
描述 | 天(同义词)。 |
示例 | dayofmonth(DATE '1992-02-15') |
结果 | 15 |
dayofweek(date)
描述 | 数字表示的星期几(星期日 = 0,星期六 = 6)。 |
示例 | dayofweek(DATE '1992-02-15') |
结果 | 6 |
dayofyear(date)
描述 | 一年中的第几天(从 1 开始,即 1 月 1 日 = 1)。 |
示例 | dayofyear(DATE '1992-02-15') |
结果 | 46 |
decade(date)
描述 | 十年 (年 / 10)。 |
示例 | decade(DATE '1992-02-15') |
结果 | 199 |
epoch(date)
描述 | 自 1970-01-01 以来的秒数。 |
示例 | epoch(DATE '1992-02-15') |
结果 | 698112000 |
era(date)
描述 | 日历纪元。 |
示例 | era(DATE '0044-03-15 (BC)') |
结果 | 0 |
hour(date)
描述 | 小时。 |
示例 | hour(timestamp '2021-08-03 11:59:44.123456') |
结果 | 11 |
isodow(date)
描述 | 数字表示的 ISO 星期几(星期一 = 1,星期日 = 7)。 |
示例 | isodow(DATE '1992-02-15') |
结果 | 6 |
isoyear(date)
描述 | ISO 年份编号(从包含 1 月 4 日的周一算起)。 |
示例 | isoyear(DATE '2022-01-01') |
结果 | 2021 |
microsecond(date)
描述 | 分钟以下的微秒。 |
示例 | microsecond(timestamp '2021-08-03 11:59:44.123456') |
结果 | 44123456 |
millennium(date)
描述 | 千年。 |
示例 | millennium(DATE '1992-02-15') |
结果 | 2 |
millisecond(date)
描述 | 分钟以下的毫秒。 |
示例 | millisecond(timestamp '2021-08-03 11:59:44.123456') |
结果 | 44123 |
minute(date)
描述 | 分钟。 |
示例 | minute(timestamp '2021-08-03 11:59:44.123456') |
结果 | 59 |
month(date)
描述 | 月。 |
示例 | month(DATE '1992-02-15') |
结果 | 2 |
quarter(date)
描述 | 季度。 |
示例 | quarter(DATE '1992-02-15') |
结果 | 1 |
second(date)
描述 | 秒。 |
示例 | second(timestamp '2021-08-03 11:59:44.123456') |
结果 | 44 |
timezone_hour(date)
描述 | 时区偏移小时部分。 |
示例 | timezone_hour(DATE '1992-02-15') |
结果 | 0 |
timezone_minute(date)
描述 | 时区偏移分钟部分。 |
示例 | timezone_minute(DATE '1992-02-15') |
结果 | 0 |
timezone(date)
描述 | 以分钟为单位的时区偏移。 |
示例 | timezone(DATE '1992-02-15') |
结果 | 0 |
week(date)
描述 | ISO 周。 |
示例 | week(DATE '1992-02-15') |
结果 | 7 |
weekday(date)
描述 | 数字表示的星期几同义词(星期日 = 0,星期六 = 6)。 |
示例 | weekday(DATE '1992-02-15') |
结果 | 6 |
weekofyear(date)
描述 | ISO 周(同义词)。 |
示例 | weekofyear(DATE '1992-02-15') |
结果 | 7 |
year(date)
描述 | 年。 |
示例 | year(DATE '1992-02-15') |
结果 | 1992 |
yearweek(date)
描述 | 组合 ISO 年份编号和 2 位 ISO 周数的 BIGINT 。 |
示例 | yearweek(DATE '1992-02-15') |
结果 | 199207 |