⌘+k ctrl+k
1.4 (LTS)
搜索快捷键 cmd + k | ctrl + k
日期部分函数

date_partdate_truncdate_diff 函数可用于提取或操作时间类型(如 TIMESTAMPTIMESTAMPTZDATEINTERVAL)的部分内容。

需要提取或操作的部分由下表中的字符串指定。示例列提供了时间戳 2021-08-03 11:59:44.123456 的相应部分。只有第一个表中的条目可以从 INTERVAL 中提取或用于构建它们。

除了返回 DOUBLE 类型的 julianepoch 外,所有部分均以整数形式提取。由于 DuckDB 中没有无限的整数值,因此对于无限的时间戳,将返回 NULL

可用作日期部分说明符及用于时间间隔(Interval)的说明符

说明符 描述 同义词 示例
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 以来的秒数   1760465850.6698709
era 公历纪元(CE/AD,BCE/BC)   1
isodow ISO 星期几(周一 = 1,周日 = 7)   2
isoyear ISO 年份(始于包含 1 月 4 日的那一周的周一)   2021
julian 儒略日数   2459430.4998162435
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 日的那一周的周一)。
julian(date) DOUBLE 型儒略日数。
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

julian(date)

描述 DOUBLE 型儒略日数。
示例 julian(DATE '1992-09-20')
结果 2448886.0

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
© 2025 DuckDB 基金会,阿姆斯特丹,荷兰
行为准则 商标使用指南