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

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

间隔操作符

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

Operator Description Example Result
+ 添加一个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类型的标量函数。

Name Description
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_seconds(integer) 构造一个秒间隔。
to_weeks(integer) 构造一个周间隔。
to_years(integer) 构造一个年份间隔。

仅为间隔定义了文档化的日期部分组件

date_part(part, interval)

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

datepart(part, interval)

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

extract(part FROM interval)

描述 date_part 的别名。
示例 extract('month' FROM INTERVAL '14 months')
Result 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_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