将日期转换为区间字符串oracle
Convert Date to interval string oracle
我有以下验证:
DATE1 + INTERVAL to_char(DATE2, 'HH24:MI:SS') HOUR TO SECOND > DATE3;
但我一直说运算符无效。我做错了什么?
您似乎在尝试从 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
作为天数,因为您只需要时间部分)。
我有以下验证:
DATE1 + INTERVAL to_char(DATE2, 'HH24:MI:SS') HOUR TO SECOND > DATE3;
但我一直说运算符无效。我做错了什么?
您似乎在尝试从 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
作为天数,因为您只需要时间部分)。