写点什么

YashanDB TO_DSINTERVAL 函数

作者:YashanDB
  • 2025-08-08
    广东
  • 本文字数:999 字

    阅读完需:约 3 分钟

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 和 hours 间由一个或多个空格隔开,hours、minutes、seconds 间由一个冒号隔开。不同元素之间允许存在额外的空格,例如'23 23 : 23:12'

  • days:整数,取值范围为[-100000000,100000000]。

  • hours:整数,取值范围为[0,23]。

  • minutes:整数,取值范围为[0,59]。

  • seconds:整数,取值范围为[0,59]。

  • frac_secs:小数,取值范围为[.0,.999999]。

示例

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
复制代码

代码

to_dsinterval::= TO_DSINTERVAL "(" "'" sql_format "'" ")" 
sql_format::= (["+" | "-"] days hours ":" minutes ":" seconds ["." frac_secs])
复制代码

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 和 hours 间由一个或多个空格隔开,hours、minutes、seconds 间由一个冒号隔开。不同元素之间允许存在额外的空格,例如'23 23 : 23:12'

  • days:整数,取值范围为[-100000000,100000000]。

  • hours:整数,取值范围为[0,23]。

  • minutes:整数,取值范围为[0,59]。

  • seconds:整数,取值范围为[0,59]。

  • frac_secs:小数,取值范围为[.0,.999999]。

示例

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
复制代码


用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
YashanDB TO_DSINTERVAL函数_YashanDB_InfoQ写作社区