Interval
表示时间和日期间隔的一组数据类型。 INTERVAL 运算符的最终结果类型。
结构
- 作为无符号整数值的时间间隔。
- 间隔类型。
支持的间隔类型
NANOSECOND
MICROSECOND
MILLISECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
每个间隔类型都有一个单独的数据类型。 例如,DAY
间隔对应于 IntervalDay
数据类型
SELECT toTypeName(INTERVAL 4 DAY)
┌─toTypeName(toIntervalDay(4))─┐
│ IntervalDay │
└──────────────────────────────┘
使用说明
您可以将 Interval
类型的值用于与 Date 和 DateTime 类型的值进行算术运算。 例如,您可以将当前时间加上 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 │
└─────────────────────────────────────────────────────────────┘
另请参阅
- INTERVAL 运算符
- toInterval 类型转换函数