将Date转换为间隔字符串oracle

时间:2015-02-23 22:56:00

标签: sql oracle intervals

我有以下验证:

DATE1 + INTERVAL to_char(DATE2, 'HH24:MI:SS') HOUR TO SECOND > DATE3;

但它让我说运营商无效。我做错了什么?

1 个答案:

答案 0 :(得分:2)

您似乎正在尝试从DATE2获取时间并将其添加到DATE1?我担心Oracle不会将TO_CHAR(date2...)识别为INTERVAL字面值,即使它看起来格式正确。我会尝试这个(很好的老式Oracle日期算术):

date1 + ( date2 - TRUNC(date2) ) > date3;

您还可以执行以下操作:

 date1 + TO_DSINTERVAL('0 ' || TO_CHAR(date2, 'HH24:MI:SS')) > date3;

其中date2转换为DAY TO SECOND INTERVAL(我使用0表示您只需要时间部分的天数。)< / p>