TO_DSINTERVAL 函数将表示时间单位的字符串转换为 INTERVAL DAY TO SECOND 字符值。此函数还可以接受数字和字符串作为其参数,并以单个时间单位精度 DAY 、HOUR 、MINUTE 或 SECOND 返回 INTERVAL 值。
当您定义范围间隔存储分配策略以分片表或索引时,您可以使用单个参数(或两个参数,其同义词 NUMTODSINTERVAL)的 TO_DSINTERVAL 函数来指定间隔范围值。
元素 | 描述 | 限制 | 语法 |
---|---|---|---|
DD | 一位或两位数指定间隔中的天数 | 必须是下列其中之一的数据类型:
|
字符串 |
HH:MM:SS | 三组两位数字,用冒号(:)符号分隔,指定间隔中的小时数、分钟数和秒数 | 必须是下列其中之一的数据类型:
|
字符串 |
number | 指定间隔中的天数、小时数、分钟数或秒数的数字。
可以是表达式,包括列表达式,该表达式解析(或转换)到其中一个有效数字数据类型。 |
必须是下列其中之一的数据类型:
|
数值 |
当您使用结果分片表或索引时,可以使用 TO_DSINTERVAL 函数指定间隔值。TO_DSINTERVAL 函数在允许内置例程的上下文中有效。NUMTODSINTERVAL 函数与 TO_DSINTERVAL 函数相同都是用来转换数字值。
以下示例指定一天的间隔:
TO_DSINTERVAL('1 00:00:00') TO_DSINTERVAL(1,'DAY') NUMTODSINTERVAL(1,'DAY')
以下示例指定一个小时的间隔:
TO_DSINTERVAL('0 01:00:00') TO_DSINTERVAL(1,'HOUR') NUMTODSINTERVAL(1,'HOUR')
以下示例指定一分 30 秒的间隔:
TO_DSINTERVAL('0 00:01:30') TO_DSINTERVAL(1.5,'MINUTE') NUMTODSINTERVAL(1.5,'MINUTE')
以下示例显示了如何使用表达式作为数字值:
TO_DSINTERVAL(10+10+100,'DAY')