Oracle日期计算问题

时间:2014-05-13 06:23:29

标签: oracle datetime

有如下要求:

  

字符串格式为:dd hh:mm:ss,这表示(天数小时:分钟:秒,天是可选的)
  现在该字符串将添加到值“1/1/4000”,因此如果传入值为“00:15:00”,则结果值为1/1/4000 00:15:00(将15分钟添加到1 / 1/4000)。如果传入的值是2 00:15:00,那么结果值将是1/3/4000 00:15:00(添加2天15分钟到1/1/4000)。如果传入的值是32 00:15:00,那么结果值将是2/1/4000 00:15:00。

     

上面有什么简单的方法来实现这个要求吗?

1 个答案:

答案 0 :(得分:1)

您可以使用INTERVAL DAY TO SECOND将输入字符串转换为TO_DSINTERVAL数据类型,然后将其添加到默认日期。结果将是一个日期。

date'4000-01-01' + TO_DSINTERVAL('2 23:23:12');

但这要求您的输入字符串采用DD HH:MI:SS格式。由于在您的输入中,day是可选的,因此如果它不存在,您应该将0天附加到字符串。