首页 > 解决方案 > Oracle SQL - 尝试将一秒添加到我从文本字段中提取的日期

问题描述

SQL新手在这里。

在 Oracle BI Publisher 中,我使用 Oracle SQL 执行以下操作。

我只需要从字符串中提取时间并在时间上增加一秒。'Flight' 列中的数据如下所示:

Dayton 01:23:59

我只使用以下语法拉时间:

substr(Flight,length(Flight)-8,8)

这给了我这个:

01:23:59

在下面凌乱的代码中,我试图在有效的时间上增加一秒,但第二秒是“60”,这显然是一个无效时间。

 substr(lpad(to_number(replace(substr(Flight,length(Flight)-15,9),':')+2,'999999'),6,'0'),1,2)||':'||substr(lpad(to_number(replace(substr(Flight,length(Flight)-15,9),':')+2,'999999'),6,'0'),3,2)||':'||substr(lpad(to_number(replace(substr(Flight,length(Flight)-15,9),':')+2,'999999'),6,'0'),5,2)

有什么更好的方法来做到这一点吗?

标签: sqloraclebi-publisher

解决方案


你可以做类似的事情:

 to_date(substr(Flight,length(Flight)-8,8), HH:MI:SS') + interval '1' second

推荐阅读