我看到一個表的數據值爲18-May-2012
。但是,當我查詢使用下面的查詢尋找相同的日期,沒有結果可用。當使用日期查詢時,SQL查詢不會顯示結果
Select Submit_Dt From Siebel.S_Order_Dtl
where submit_dt = '18-May-2012'
你能幫我解決這個問題嗎?
我看到一個表的數據值爲18-May-2012
。但是,當我查詢使用下面的查詢尋找相同的日期,沒有結果可用。當使用日期查詢時,SQL查詢不會顯示結果
Select Submit_Dt From Siebel.S_Order_Dtl
where submit_dt = '18-May-2012'
你能幫我解決這個問題嗎?
您需要將字符串日期轉換成日期TO_DATE()函數。 此外,您還需要考慮到您的日期可能包含小時/分鐘/秒。爲了處理這個,你需要截斷submit_dt列。
在你的情況是這樣的:
Select Submit_Dt From Siebel.S_Order_Dtl
where TRUNC(submit_dt) = TO_DATE('18-May-2012','dd-MON-yyyy')
@Rafaz謝謝你,系統會隱式地將你輸入的字符串日期轉換爲日期。這工作。 :) – RDPD
嘗試使用to_date
日期爲日期格式轉換如下
Select Submit_Dt From Siebel.S_Order_Dtl
where submit_dt = to_date('18-May-2012','DD-MON-YYYY')
或ANSI語法'DATE'2012-05-18'' –
確保它不是日期列... –
1 NLS(http://docs.oracle.com/cd/A84870_01/doc /server.816/a76966/ch1.htm)格式可能不同。 2它可能有一個時間組件,所以試試'where trunc(Submit_dT)= '18-May-2012'trunc將時間組件放在submit_Date上。然後引擎會隱式地將字符串轉換爲日期,從而比較類似的組件。這假定submit_DT是一個日期/時間,而顯示可能只會顯示一個日期;但存儲時間。如果是這種情況,上面的trunc應該可以工作。如果NLS格式是Oracle Default – xQbert