INTERVAL DAY TO SECOND
可存储以天、小时、分钟和秒为单位的时间段。此数据类型对于表示两个日期时间值之间的精确差异很有用。
语法
INTERVAL DAY [(precision)] TO SECOND [(fractional_seconds_precision)]
参数
参数 | 值 | 说明 |
precision | 0~9 | 代表了 DAY 元素的精度,默认值为 2。 |
fractional_seconds_precision | 0~9 | 代表了 SECOND 元素小数部分的精度,默认值为 6。 |
示例
在插入 INTERVAL DAY TO SECOND
数据类型的值时,有以下几种格式,更多关于间隔数据类型值的指定请参阅 间隔字面量:
语法 | 示例 | 说明 |
INTERVAL ’dd hh:mm:ss’ DAY(precision) TO SECOND(fractional_seconds_precision) | INTERVAL ‘140 5:12:10.2222222’ DAY(3) TO SECOND(7) | 间隔 140 天 5 小时 12 分钟 10.2222222 秒。 |
INTERVAL ‘dd hh’DAY(precision) TO HOUR | INTERVAL ‘400 5’ DAY(3) TO HOUR | 间隔 400 天 5 小时。 |
INTERVAL ‘dd hh:mm’DAY(precision) TO MINUTE | INTERVAL ‘4 5:12’ DAY TO MINUTE | 间隔 4 天 5 小时 12 分钟。 |
INTERVAL ‘hh:mm’ HOUR TO MINUTE | INTERVAL ‘11:20’ HOUR TO MINUTE | 间隔 11 小时 20 分钟。 |
INTERVAL ‘hh:mm:ss’ HOUR TO SECOND(fractional_seconds_precision) | INTERVAL ‘11:12:10.2222222’ HOUR TO SECOND(7) | 间隔 11 小时 12 分钟 10.2222222 秒。 |
INTERVAL ‘dd’ DAY(precision) | INTERVAL ‘14’ DAY | 间隔 14 天。 |
INTERVAL ‘hh’ HOUR | INTERVAL ‘160’ HOUR | 间隔 160 小时。 |
INTERVAL ‘mm’ MINUTE | INTERVAL ‘14’ MINUTE | 间隔 14 分钟。 |
INTERVAL ‘ss’ SECOND(fractional_seconds_precision) | INTERVAL ‘14.666’ SECOND(2, 3) | 间隔 14.666 秒。 |
如下代码所示,在表 Interval_Sample 中创建了数据类型为 INTERVAL DAY TO SECOND
的两列 interval1、interval2 并向这两列中插入数值:
CREATE TABLE Interval_Sample (interval1 INTERVAL DAY TO SECOND, interval2 INTERVAL DAY(3) TO SECOND(3));
INSERT INTO Interval_Sample (interval1, interval2) VALUES ( INTERVAL '15 06:10:08' DAY TO SECOND, INTERVAL '150 06:10:08' DAY(3) TO SECOND(3));
SELECT * FROM Interval_Sample;
返回结果:
+---------------------+-------------------+
| interval1 | interval2 |
+---------------------+-------------------+
| +15 06:10:08.000000 | +150 06:10:08.000 |
+---------------------+-------------------+
间隔与其他日期类型的计算
OceanBase 支持数据类型间的转换,所以间隔数据类型的值可以与其他日期值进行数学运算。但是数据库并不支持数据类型间任意的进行加、减、乘、除运算。请参阅文档 日期时间 DATE 和间隔 INTERVAL 的计算 中查看目前支持的日期类型计算矩阵图和参阅文档 数据类型转换 了解数更多数据类型转换的信息。
关于间隔与其他数据类型计算的示例,请参阅文档 INTERVAL YEAR TO MONTH 数据类型 。