⌘+k ctrl+k
1.1.3 (stable)
Search Shortcut cmd + k | ctrl + k
Date Part Functions

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
'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,否则时间区部分都为零。

部分函数

有专门的提取函数来获取某些子字段:

Name Description
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) BIGINT 组合的ISO年份和2位数的ISO周数。

century(date)

描述 世纪。
示例 century(date '1992-02-15')
Result 20

day(date)

描述 天。
示例 day(date '1992-02-15')
Result 15

dayofmonth(date)

描述 天(同义词)。
示例 dayofmonth(date '1992-02-15')
Result 15

dayofweek(date)

描述 数字表示的星期几(星期日 = 0,星期六 = 6)。
示例 dayofweek(date '1992-02-15')
Result 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)')
Result 0

hour(date)

描述 小时。
示例 hour(timestamp '2021-08-03 11:59:44.123456')
结果 11

isodow(date)

描述 数字ISO工作日(星期一 = 1,星期日 = 7)。
示例 isodow(date '1992-02-15')
Result 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')
Result 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')
Result 2

quarter(date)

描述 季度。
示例 quarter(date '1992-02-15')
Result 1

second(date)

描述 秒。
示例 second(timestamp '2021-08-03 11:59:44.123456')
结果 44

timezone_hour(date)

描述 时区偏移的小时部分。
示例 timezone_hour(date '1992-02-15')
Result 0

timezone_minute(date)

描述 时区偏移的分钟部分。
示例 timezone_minute(date '1992-02-15')
Result 0

timezone(date)

描述 时区偏移量,单位为分钟。
示例 timezone(date '1992-02-15')
Result 0

week(date)

描述 ISO周。
示例 week(date '1992-02-15')
Result 7

weekday(date)

描述 数字星期同义词(星期日 = 0,星期六 = 6)。
示例 weekday(date '1992-02-15')
Result 6

weekofyear(date)

描述 ISO周(同义词)。
示例 weekofyear(date '1992-02-15')
Result 7

year(date)

描述 年份。
示例 year(date '1992-02-15')
Result 1992

yearweek(date)

描述 BIGINT 类型的组合ISO年份和2位数的ISO周数版本。
示例 yearweek(date '1992-02-15')
结果 199207