本节介绍用于检查和操作 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 |