⌘+k ctrl+k
1.3 (稳定版)
搜索快捷键 cmd + k | ctrl + k
间隔函数

本节介绍用于检查和操作 INTERVAL 值的函数和运算符。

间隔运算符

下表显示了适用于 INTERVAL 类型的可用数学运算符。

运算符 描述 示例 结果
+ INTERVAL 的加法 INTERVAL 1 HOUR + INTERVAL 5 HOUR INTERVAL 6 HOUR
+ DATE 的加法 DATE '1992-03-22' + INTERVAL 5 DAY 1992-03-27
+ TIMESTAMP 的加法 TIMESTAMP '1992-03-22 01:02:03' + INTERVAL 5 DAY 1992-03-27 01:02:03
+ TIME 的加法 TIME '01:02:03' + INTERVAL 5 HOUR 06:02:03
- INTERVAL 的减法 INTERVAL 5 HOUR - INTERVAL 1 HOUR INTERVAL 4 HOUR
- DATE 中减去 DATE '1992-03-27' - INTERVAL 5 DAY 1992-03-22
- TIMESTAMP 中减去 TIMESTAMP '1992-03-27 01:02:03' - INTERVAL 5 DAY 1992-03-22 01:02:03
- TIME 中减去 TIME '06:02:03' - INTERVAL 5 HOUR 01:02:03

间隔函数

下表显示了适用于 INTERVAL 类型的可用标量函数。

名称 描述
date_part(part, interval) 提取 日期部分组件(等同于 extract)。有关此提取有时令人惊讶的规则,请参阅 INTERVAL
datepart(part, interval) date_part 的别名。
extract(part FROM interval) date_part 的别名。
epoch(interval) 获取间隔中的总秒数,以双精度浮点数表示。
to_centuries(integer) 构造一个世纪间隔。
to_days(integer) 构造一个天间隔。
to_decades(integer) 构造一个十年间隔。
to_hours(integer) 构造一个小时间隔。
to_microseconds(integer) 构造一个微秒间隔。
to_millennia(integer) 构造一个千年间隔。
to_milliseconds(integer) 构造一个毫秒间隔。
to_minutes(integer) 构造一个分钟间隔。
to_months(integer) 构造一个月份间隔。
to_quarters(integer) 构造一个 integer 季度间隔。
to_seconds(integer) 构造一个秒间隔。
to_weeks(integer) 构造一个周间隔。
to_years(integer) 构造一个年间隔。

仅为间隔定义了已记录的 日期部分组件

date_part(part, interval)

描述 提取 日期部分组件(等同于 extract)。有关此提取有时令人惊讶的规则,请参阅 INTERVAL
示例 date_part('year', INTERVAL '14 months')
结果 1

datepart(part, interval)

描述 date_part 的别名。
示例 datepart('year', INTERVAL '14 months')
结果 1

extract(part FROM interval)

描述 date_part 的别名。
示例 extract('month' FROM INTERVAL '14 months')
结果 2

epoch(interval)

描述 获取间隔中的总秒数,以双精度浮点数表示。
示例 epoch(INTERVAL 5 HOUR)
结果 18000.0

to_centuries(integer)

描述 构造一个世纪间隔。
示例 to_centuries(5)
结果 INTERVAL 500 YEAR

to_days(integer)

描述 构造一个天间隔。
示例 to_days(5)
结果 INTERVAL 5 DAY

to_decades(integer)

描述 构造一个十年间隔。
示例 to_decades(5)
结果 INTERVAL 50 YEAR

to_hours(integer)

描述 构造一个小时间隔。
示例 to_hours(5)
结果 INTERVAL 5 HOUR

to_microseconds(integer)

描述 构造一个微秒间隔。
示例 to_microseconds(5)
结果 INTERVAL 5 MICROSECOND

to_millennia(integer)

描述 构造一个千年间隔。
示例 to_millennia(5)
结果 INTERVAL 5000 YEAR

to_milliseconds(integer)

描述 构造一个毫秒间隔。
示例 to_milliseconds(5)
结果 INTERVAL 5 MILLISECOND

to_minutes(integer)

描述 构造一个分钟间隔。
示例 to_minutes(5)
结果 INTERVAL 5 MINUTE

to_months(integer)

描述 构造一个月份间隔。
示例 to_months(5)
结果 INTERVAL 5 MONTH

to_quarters(integer)

描述 构造一个 integer 季度间隔。
示例 to_quarters(5)
结果 INTERVAL 1 YEAR 3 MONTHS

to_seconds(integer)

描述 构造一个秒间隔。
示例 to_seconds(5)
结果 INTERVAL 5 SECOND

to_weeks(integer)

描述 构造一个周间隔。
示例 to_weeks(5)
结果 INTERVAL 35 DAY

to_years(integer)

描述 构造一个年间隔。
示例 to_years(5)
结果 INTERVAL 5 YEAR