⌘+k ctrl+k
1.3 (稳定版)
搜索快捷键 cmd + k | ctrl + k
日期部分函数

date_partdate_diffdate_trunc 函数可用于操作时间类型(例如 DATETIMESTAMP)的字段。字段以包含字段部分名称的字符串形式指定。

下方列出了所有可用的日期部分说明符。示例对应于时间戳 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