有如下要求:
字符串格式为: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。上面有什么简单的方法来实现这个要求吗?
答案 0 :(得分:1)
您可以使用INTERVAL DAY TO SECOND将输入字符串转换为TO_DSINTERVAL数据类型,然后将其添加到默认日期。结果将是一个日期。
date'4000-01-01' + TO_DSINTERVAL('2 23:23:12');
但这要求您的输入字符串采用DD HH:MI:SS格式。由于在您的输入中,day是可选的,因此如果它不存在,您应该将0天附加到字符串。