Interval 函数
本节介绍用于检查和操作 INTERVAL 值的函数和运算符。
Interval 运算符
下表展示了 INTERVAL 类型可用的数学运算符。
| 运算符 | 描述 | 示例 | 结果 |
|---|---|---|---|
+ | INTERVAL 加法 | INTERVAL 1 HOUR + INTERVAL 5 HOUR | INTERVAL 6 HOUR |
+ | 与 DATE 相加 | DATE '1992-03-22' + INTERVAL 5 DAY | 1992-03-27 00:00:00 |
+ | 与 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 函数
下表展示了 INTERVAL 类型可用的标量函数。
| 名称 | 描述 |
|---|---|
date_part(part, interval) | 提取 datepart 组件(等价于 extract)。有关该提取行为中一些容易令人意外的规则,请参阅 INTERVAL。 |
datepart(part, interval) | date_part 的别名。 |
extract(part FROM interval) | date_part 的别名。 |
epoch(interval) | 获取 interval 的总秒数,返回双精度浮点数。 |
to_centuries(integer) | 构造世纪 interval。 |
to_days(integer) | 构造天 interval。 |
to_decades(integer) | 构造十年 interval。 |
to_hours(integer) | 构造小时 interval。 |
to_microseconds(integer) | 构造微秒 interval。 |
to_millennia(integer) | 构造千年 interval。 |
to_milliseconds(integer) | 构造毫秒 interval。 |
to_minutes(integer) | 构造分钟 interval。 |
to_months(integer) | 构造月份 interval。 |
to_quarters(integer) | 构造 integer 个季度的 interval。 |
to_seconds(integer) | 构造秒 interval。 |
to_weeks(integer) | 构造周 interval。 |
to_years(integer) | 构造年 interval。 |
仅文档中列出的 date part 组件 适用于 interval。
date_part(part, interval)
| 描述 | 提取 datepart 组件(等价于 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)
| 描述 | 获取 interval 的总秒数,返回双精度浮点数。 |
| 示例 | epoch(INTERVAL 5 HOUR) |
| 结果 | 18000.0 |
to_centuries(integer)
| 描述 | 构造世纪 interval。 |
| 示例 | to_centuries(5) |
| 结果 | INTERVAL 500 YEAR |
to_days(integer)
| 描述 | 构造天 interval。 |
| 示例 | to_days(5) |
| 结果 | INTERVAL 5 DAY |
to_decades(integer)
| 描述 | 构造十年 interval。 |
| 示例 | to_decades(5) |
| 结果 | INTERVAL 50 YEAR |
to_hours(integer)
| 描述 | 构造小时 interval。 |
| 示例 | to_hours(5) |
| 结果 | INTERVAL 5 HOUR |
to_microseconds(integer)
| 描述 | 构造微秒 interval。 |
| 示例 | to_microseconds(5) |
| 结果 | INTERVAL 5 MICROSECOND |
to_millennia(integer)
| 描述 | 构造千年 interval。 |
| 示例 | to_millennia(5) |
| 结果 | INTERVAL 5000 YEAR |
to_milliseconds(integer)
| 描述 | 构造毫秒 interval。 |
| 示例 | to_milliseconds(5) |
| 结果 | INTERVAL 5 MILLISECOND |
to_minutes(integer)
| 描述 | 构造分钟 interval。 |
| 示例 | to_minutes(5) |
| 结果 | INTERVAL 5 MINUTE |
to_months(integer)
| 描述 | 构造月份 interval。 |
| 示例 | to_months(5) |
| 结果 | INTERVAL 5 MONTH |
to_quarters(integer)
| 描述 | 构造 integer 个季度的 interval。 |
| 示例 | to_quarters(5) |
| 结果 | INTERVAL 1 YEAR 3 MONTHS |
to_seconds(integer)
| 描述 | 构造秒 interval。 |
| 示例 | to_seconds(5) |
| 结果 | INTERVAL 5 SECOND |
to_weeks(integer)
| 描述 | 构造周 interval。 |
| 示例 | to_weeks(5) |
| 结果 | INTERVAL 35 DAY |
to_years(integer)
| 描述 | 构造年 interval。 |
| 示例 | to_years(5) |
| 结果 | INTERVAL 5 YEAR |