跳到主要内容
跳到主要内容

Interval

表示时间和日期间隔的数据类型族。 INTERVAL 运算符的结果类型。

结构

  • 作为无符号整数值的时间间隔。
  • 间隔的类型。

支持的间隔类型

  • 纳秒
  • 微秒
  • 毫秒
  • 分钟
  • 小时
  • 季度

对于每种间隔类型,都有一个单独的数据类型。 例如,DAY 间隔对应于 IntervalDay 数据类型

SELECT toTypeName(INTERVAL 4 DAY)
┌─toTypeName(toIntervalDay(4))─┐
│ IntervalDay │
└──────────────────────────────┘

使用说明

您可以在 DateDateTime 类型的值的算术运算中使用 Interval 类型的值。 例如,您可以将 4 天添加到当前时间

SELECT now() as current_date_time, current_date_time + INTERVAL 4 DAY
┌───current_date_time─┬─plus(now(), toIntervalDay(4))─┐
│ 2019-10-23 10:58:45 │ 2019-10-27 10:58:45 │
└─────────────────────┴───────────────────────────────┘

也可以同时使用多个间隔

SELECT now() AS current_date_time, current_date_time + (INTERVAL 4 DAY + INTERVAL 3 HOUR)
┌───current_date_time─┬─plus(current_date_time, plus(toIntervalDay(4), toIntervalHour(3)))─┐
│ 2024-08-08 18:31:39 │ 2024-08-12 21:31:39 │
└─────────────────────┴────────────────────────────────────────────────────────────────────┘

以及比较具有不同间隔的值

SELECT toIntervalMicrosecond(3600000000) = toIntervalHour(1);
┌─less(toIntervalMicrosecond(179999999), toIntervalMinute(3))─┐
│ 1 │
└─────────────────────────────────────────────────────────────┘

另请参阅