INTERVAL
INTERVAL数据类型
Lakehouse提供了INTERVAL数据类型,用来表示两个日期或时间之间的时间间隔。本文为您介绍INTERVAL类型的使用方法和语法。
使用说明
INTERVAL数据类型支持两种类型的间隔:
- INTERVAL_YEAR_MONTH:表示年月间隔,使用YEAR和MONTH字段存储时间间隔。
- INTERVAL_DAY_TIME:表示日间间隔,使用包括小数秒在内的天、小时、分钟和秒存储间隔。
INTERVAL_YEAR_MONTH
语法格式
语法 | 描述 | 示例 |
---|---|---|
INTERVAL '[+ | -]-' YEAR TO MONTH | 同时指定YEAR和MONTH间隔 | INTERVAL '2-3' YEAR TO MONTH 表示2年3个月 |
INTERVAL '[+ | -]' YEAR | 仅指定YEAR间隔 | INTERVAL '2' YEAR 表示2年 |
INTERVAL '[+| -]' MONTH | 仅指定MONTH间隔 | INTERVAL '3' MONTH 表示3个月 |
参数说明
- year:取值范围为[0, 9999]。
- month:取值范围为[0, 11]。
注意事项
- 仅指定MONTH间隔时,month取值可以超过11,超过部分会折算为YEAR进行计算。
INTERVAL_DAY_TIME
语法格式
语法 | 描述 | 示例 |
---|---|---|
INTERVAL '[+ | -]' DAY | 仅指定DAY间隔 | INTERVAL '1' DAY表示1天 |
INTERVAL '[+ | -]' HOUR | 仅指定HOUR间隔 | INTERVAL '23' HOUR表示23小时 |
INTERVAL '[+ | -]' MINUTE | 仅指定MINUTE间隔 | INTERVAL '59' MINUTE表示59分钟 |
INTERVAL '[+ | -]' SECOND | 仅指定SECOND间隔 | INTERVAL '59.999' SECOND表示59.999秒 |
INTERVAL '[+ | -] ' DAY TO HOUR | 同时指定DAY和HOUR间隔 | INTERVAL '1 23' DAY TO HOUR表示1天23小时 |
INTERVAL '[+ | -] ' DAY TO MINUTE | 同时指定DAY、HOUR和MINUTE间隔 | INTERVAL '1 23:59' DAY TO MINUTE表示1天23小时59分钟 |
INTERVAL '[+ | -] ' DAY TO SECOND | 同时指定DAY、HOUR、MINUTE和SECOND间隔 | INTERVAL '1 23:59:59.999' DAY TO SECOND表示1天23小时59分59.999秒 |
- 允许
INTERVAL expr unit
时间间隔写表达式如
参数说明
- day:取值范围为[0, 2147483647]。
- hour:取值范围为[0, 23]。
- minute:取值范围为[0, 59]。
- second:取值范围为[0, 59.999999999]。
注意事项
- 仅指定HOUR/MINUTE/SECOND间隔时,对应参数取值可以超过范围上限,超过的部分会被折算为更大的单位。
interval 类型的运算
interval 类型与 数值类型、时间日期类型可以做一些简单的算数运算
interval 类型 cast
interval 类型 cast 成 string 时,会带上类型信息;
interval 类型写法更宽松
interval可以写在整个字符串中
interval数字可以写到字符串中
数字和时间单位可以写到整个字符串中
联系我们