Interval
Introduced or updated: v1.2.677
INTERVAL 数据类型表示一段时间的长度,允许精确地操作和存储跨各种单位的时间间隔。
- 
接受自然语言格式(例如,“1 year 2 months ago”)或解释为微秒的数值。 - 支持的时间单位包括 Millennium、Century、Decade、Year、Quarter、Month、Week、Day、Hour、Minute、Second、Millisecond和Microsecond。
 Examples:-- Create a table with one INTERVAL column
 CREATE OR REPLACE TABLE intervals (duration INTERVAL);
 -- Insert different types of INTERVAL data
 INSERT INTO intervals VALUES
 ('1 year 2 months ago'), -- Natural language format with 'ago' (negative interval)
 ('1 year 2 months'), -- Natural language format without 'ago' (positive interval)
 ('1000000'), -- Positive numeric value interpreted as microseconds
 ('-1000000'); -- Negative numeric value interpreted as microseconds
 -- Query the table to see the results
 SELECT * FROM intervals;
 ┌──────────────────────────┐
 │ duration │
 ├──────────────────────────┤
 │ -1 year -2 months │
 │ 1 year 2 months │
 │ 0:00:01 │
 │ -1 month -1 day -0:00:01 │
 └──────────────────────────┘- 当给定一个数值时,Databend 只识别该值的整数部分。例如,TO_INTERVAL('1 seconds')和TO_INTERVAL('1.6 seconds')都表示 1 秒的时间间隔。小数点后的分数部分将被忽略。
 Examples:SELECT TO_INTERVAL('1 seconds'), TO_INTERVAL('1.6 seconds');
 ┌───────────────────────────────────────────────────────┐
 │ to_interval('1 seconds') │ to_interval('1.6 seconds') │
 ├──────────────────────────┼────────────────────────────┤
 │ 0:00:01 │ 0:00:01 │
 └───────────────────────────────────────────────────────┘
- 支持的时间单位包括 
- 
可以处理精确到微秒的正负时间间隔。 
- 
一个时间间隔可以加到或减去另一个时间间隔。 Examples:SELECT TO_DAYS(3) + TO_DAYS(1), TO_DAYS(3) - TO_DAYS(1);
 ┌───────────────────────────────────────────────────┐
 │ to_days(3) + to_days(1) │ to_days(3) - to_days(1) │
 ├─────────────────────────┼─────────────────────────┤
 │ 4 days │ 2 days │
 └───────────────────────────────────────────────────┘
- 
时间间隔可以加到或减去 DATE 和 TIMESTAMP 值。 Examples:SELECT DATE '2024-12-20' + TO_DAYS(2), DATE '2024-12-20' - TO_DAYS(2);
 ┌───────────────────────────────────────────────────────────────────────────────────┐
 │ CAST('2024-12-20' AS DATE) + to_days(2) │ CAST('2024-12-20' AS DATE) - to_days(2) │
 ├─────────────────────────────────────────┼─────────────────────────────────────────┤
 │ 2024-12-22 00:00:00 │ 2024-12-18 00:00:00 │
 └───────────────────────────────────────────────────────────────────────────────────┘
 SELECT TIMESTAMP '2024-12-20 10:00:00' + TO_DAYS(2), TIMESTAMP '2024-12-20 10:00:00' - TO_DAYS(2);
 ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
 │ CAST('2024-12-20 10:00:00' AS TIMESTAMP) + to_days(2) │ CAST('2024-12-20 10:00:00' AS TIMESTAMP) - to_days(2) │
 ├───────────────────────────────────────────────────────┼───────────────────────────────────────────────────────┤
 │ 2024-12-22 10:00:00 │ 2024-12-18 10:00:00 │
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
- 
不建议使用 MySQL 客户端在 Databend 中查询 INTERVAL 列,因为 MySQL 协议不完全支持 INTERVAL 类型。这可能会导致错误或意外行为。 

