Oracle Query在为其设置值时返回值,但在传递日期值时不返回值

时间:2013-08-26 01:32:42

标签: oracle

当我将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')

1 个答案:

答案 0 :(得分:1)

由于您已经强制使用日期格式,因此您可以改为使用以下查询:

SELECT INCIDENT_ID 
FROM INC_SM1 I 
WHERE 
    I.CLOSE_TIME >= START_DATE
AND I.CLOSE_TIME < END_DATE