我有下面的代碼 -Oracle查詢日期顯示參數返回的日期欄沒有記錄
CMD = new OracleCommand("SELECT * FROM BOOKINGSV3 WHERE DT = :DateInQuestion ", Con);
CMD.Parameters.Add("DateInQuestion", OracleDbType.Date).Value = DateTime.Today;
DT是日期列,我知道甲骨文商店明確日期,如果我嘗試手動與'14 -AUG- 17 00:00:00'我可以檢索所需的結果。我怎樣才能使用一個日期使用參數以外的參數進行搜索,而不是使用字符串參數並以'14 -AUG-17 00:00:00'格式構造一個字符串?
如果你一直在尋找今天,那麼你可以搜索'trunc(sysdate)'而不是綁定一個值;但大概這個價值會改變?應用程序和數據庫是否在相同的語言環境中? (也許值得檢查存儲的日期是在正確的世紀;如果你的NLS_DATE_FORMAT使用YY而不是RR,但不認爲這是這裏的問題...) –
是的,值會改變,今天只是一個例子。我的開發機器使用美式鍵盤佈局,區域設置是英國(與服務器相同)。 2月2日,我嘗試了美國和英國的格式參數,但仍未找到任何結果 - 日期時間(2017,8,2)和日期時間(2017,2,8) –
好吧,那麼如果是關於C#(或任何此代碼是)我不會發現它。但是,我仍然總是懷疑這種事情的2位數年份,所以如果只是關閉我,你能否檢查'dt'值實際上是2017年?他們都準備午夜了? –