有如下要求:
字符串格式为:dd hh:mm:ss,表示(days hours:minutes:seconds, day可选)
现在字符串将添加值"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(在1/1/4000上加上2天15分钟)。如果输入的值是32 00:15:00,那么结果值将是2/1/4000 00:15:00。那么是否有任何简单的方法来实现上述要求?
您可以使用TO_DSINTERVAL将输入字符串转换为INTERVAL DAY to SECOND数据类型,然后将其添加到默认日期。结果将是一个日期。
date'4000-01-01' + TO_DSINTERVAL('2 23:23:12');
但是这要求您的输入字符串是DD HH:MI:SS格式。由于在您的输入中,day是可选的,因此您应该将0天附加到字符串后,以防它不存在。