【问题标题】:Convert Date to interval string oracle将日期转换为间隔字符串 oracle
【发布时间】:2015-04-25 10:47:21
【问题描述】:

我有以下验证:

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

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

【问题讨论】:

    标签: sql oracle intervals


    【解决方案1】:

    您似乎正在尝试从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 表示天数,因为您只需要时间部分)。

    【讨论】:

      猜你喜欢
      • 2011-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-16
      • 1970-01-01
      • 2013-07-20
      • 2015-08-22
      • 1970-01-01
      相关资源
      最近更新 更多