当我将START_DATE和END_DATE作为参数传递给我的oracle过程时,我的下面的查询没有返回任何值。但是当我在查询中设置实际日期时,我得到了结果。请帮助我,我在这里犯了什么错误。提前谢谢。
SELECT INCIDENT_ID
FROM INC_SM1 I
WHERE
I.CLOSE_TIME >= TO_DATE(START_DATE,'DD-MON-YYYY HH24:MI:SS')
AND I.CLOSE_TIME < TO_DATE(END_DATE,'DD-MON-YYYY HH24:MI:SS')
当我运行我的程序时,以下查询返回值
SELECT INCIDENT_ID
FROM INC_SM1 I
WHERE
I.CLOSE_TIME >= TO_DATE('01-JUL-2013 00:00','DD-MON-YYYY HH24:MI')
AND I.CLOSE_TIME < TO_DATE('01-AUG-2013 00:00','DD-MON-YYYY HH24:MI')
注意:我对程序的输入是TO_DATE('01-JUL-2013 00:00','DD-MON-YYYY HH24:MI')
答案 0 :(得分:1)
由于您已经强制使用日期格式,因此您可以改为使用以下查询:
SELECT INCIDENT_ID
FROM INC_SM1 I
WHERE
I.CLOSE_TIME >= START_DATE
AND I.CLOSE_TIME < END_DATE