跳到主要内容

Interval 函数

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

Interval 运算符

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

运算符描述示例结果
+INTERVAL 加法INTERVAL 1 HOUR + INTERVAL 5 HOURINTERVAL 6 HOUR
+DATE 相加DATE '1992-03-22' + INTERVAL 5 DAY1992-03-27 00:00:00
+TIMESTAMP 相加TIMESTAMP '1992-03-22 01:02:03' + INTERVAL 5 DAY1992-03-27 01:02:03
+TIME 相加TIME '01:02:03' + INTERVAL 5 HOUR06:02:03
-INTERVAL 减法INTERVAL 5 HOUR - INTERVAL 1 HOURINTERVAL 4 HOUR
-DATE 中减去DATE '1992-03-27' - INTERVAL 5 DAY1992-03-22
-TIMESTAMP 中减去TIMESTAMP '1992-03-27 01:02:03' - INTERVAL 5 DAY1992-03-22 01:02:03
-TIME 中减去TIME '06:02:03' - INTERVAL 5 HOUR01: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 |