ESQL INTERVAL 数据类型

INTERVAL 数据类型保存时间间隔。它包含多个子类型:

所有这些子类型均描述时间间隔,并且全部可参与 INTERVAL 类型的整个操作;例如,用类型 DATE、TIME 或 TIMESTAMP 的值执行添加和抽取操作。

使用 CAST 函数从一个子类型强制转换为另一个子类型,但以年和月,或月描述的时间间隔除外,因为这些类型无法转换为以日、小时、分钟和秒描述的时间间隔。

因为每月中的天数是变化的,将引起月和天之间的割裂。月和天的时间间隔没有意义,且无法转换为仅与天数等价的时间间隔。

时间间隔字面值由以下语法定义:

INTERVAL <interval string> <interval qualifier>

时间间隔字符串和时间间隔限定符的格式由下表定义。

时间间隔限定符 时间间隔字符串格式 示例
YEAR ‘<year>’或‘<sign> <year>’ ‘10’或‘-10’
YEAR TO MONTH ‘<year>-<month>’或‘<sign> <year>-<month>’ ‘2-06’或‘- 2-06’
MONTH ‘<month>’或‘<sign> <month>’ ‘18’或‘-18’
DAY ‘<day>’或‘<sign> <day>’ ‘30’或‘-30’
DAY TO HOUR ‘<day> <hour>’或‘<sign> <day> <hour>’ ‘1 02’或‘-1 02’
DAY TO MINUTE ‘<day> <hour>:<minute>’或‘<sign> <day> <hour>:<minute>’ ‘1 02:30’或‘-1 02:30’
DAY TO SECOND ‘<day> <hour>:<minute>:<second>’或‘<sign> <day> <hour>:<minute>:<second>’ ‘1 02:30:15’或‘-1 02:30:15.333’
HOUR ‘<hour>’或‘<sign> <hour>’ ‘24’或‘-24’
HOUR TO MINUTE ‘<hour>:<minute>’或‘<sign> <hour>:<minute>’ ‘1:30’或‘-1:30’
HOUR TO SECOND ‘<hour>:<minute>:<second>’或‘<sign> <hour>:<minute>:<second>’ ‘1:29:59’或‘-1:29:59.333’
MINUTE ‘<minute>’或‘<sign> <minute>’ ‘90’或‘-90’
MINUTE TO SECOND ‘<minute>:<second>’或‘<sign> <minute>:<second>’ ‘89:59’或‘-89:59’
SECOND ‘<second>’或‘<sign> <second>’ ‘15’或‘-15.7’

在时间间隔同时包含年和月值的地方,在这两个值之间使用连字符。在该实例中,月值必须在 [0, 11] 范围内。如果时间间隔包含月值,但不包含年值,则月值是不受约束的。

空格用于将天与时间间隔的剩下部分分隔开。

如果时间间隔包含多个 HOUR、MINUTE 和 SECOND,则需要冒号来分隔值并且除最左边以外,所有都按如下所示进行限制:

HOUR
0-23
MINUTE
0-59
SECOND
0-59.999...

时间间隔中最左侧的值的最大值为 +/- 2147483647。

有效时间间隔值的一些示例有:

无效时间间隔值的一些示例有:

此处是时间间隔文字的一些示例:

INTERVAL '1' HOUR
INTERVAL '90' MINUTE
INTERVAL '1-06' YEAR TO MONTH

相关概念
消息流概述
ESQL 数据类型
相关任务
开发消息流
将数字运算符用于日期时间值
计算时间间隔
相关参考
ESQL DATE 数据类型
ESQL TIME 数据类型
ESQL GMTTIME 数据类型
ESQL TIMESTAMP 数据类型
ESQL GMTTIMESTAMP 数据类型
DECLARE 语句
CAST 函数
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac05950_