2013-08-26 25 views
0

當我將START_DATE和END_DATE作爲參數傳遞給我的oracle過程時,下面的查詢沒有返回任何值。但是,當我在查詢中設置實際日期時,我正在獲得結果。請幫助我在這裏完成的錯誤。提前致謝。Oracle Query在設置值時返回值,但在傳遞日期值時不返回值

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

您可以粘貼過程的完整(相關部分)嗎?看起來你正在做兩次?一旦進入到程序中並且一次在參數中? – Victor

回答

1

既然你已經迫使日期格式,你可以請改爲使用以下查詢:

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

謝謝。是的,我做了兩次to_date,因此我面臨這個問題。根據上述建議我改變了我的查詢,它工作正常..謝謝。 – Arul