#TO_DSINTERVAL
TO_DSINTERVAL函数将expr的值转换为INTERVAL DAY TO SECOND类型的数值。
当expr的值为NULL时,函数返回NULL。
expr的值应该为字符型数据,否则返回类型不支持。且该字符串需符合sql_format格式要求,否则返回格式转换错误。
sql_format
与 SQL 标准(ISO/IEC 9075)兼容的 SQL 间隔格式,包括days、hours、minutes、seconds、frac_secs五个元素。其中,days是 0 到 999999999 之间的整数,hours是 0 到 23 之间的整数,minutes和seconds是 0 到 59 之间的整数,frac_secs是 .0 到 .999999999 之间的小数。days和hours之间由一个或多个空格分开,hours、minutes、seconds则由冒号隔开。不同元素之间允许有额外的空格,如'23 23 : 23:12'。
示例
SELECT TO_DSINTERVAL('23 23 : 23:12') res FROM DUAL;
RES
--------------------------------
+23 23:23:12.000000
--查询在当前日期前两天的时间值
SELECT SYSDATE+TO_DSINTERVAL('-2 00:00:00') res FROM DUAL;
RES
--------------------------------
2021-11-27 22:32:25