2012-06-18 38 views
-3

有人可以推薦查詢來檢索截至今天或某些日期的記錄嗎?獲取截至今天或在Oracle中某個日期的記錄

我需要生成一個Oracle報告,用戶需要輸入一個日期並記錄到該日期。

我試圖

select * from the_table where the_date <= sysdate 

但是它似乎產生不準確的結果。什麼是更好的查詢這個。現在我只是在玩sysdate。稍後,我需要使用用戶鍵入的某個日期,並且需要顯示該日期之前的所有記錄。

有什麼建議嗎?

+6

你能解釋一下「不準確的結果」是什麼嗎?例如,在表格中張貼數據的一些示例,解釋你做了什麼,不想檢索的行,以及顯示當前查詢沒有給出結果的位置會很有幫助。 –

+1

編輯帖子時,請包括您正在使用的表的定義 - 字段名稱和數據類型。這張桌子上有觸發器嗎?任何約束,默認值等?如何索引?謝謝。在黑暗中 –

回答

1

有時你會得到不準確的記錄,因爲兩個日期具有相同的日/月/年時,分鐘和秒等差異很小。請嘗試以下操作

select * from the_table where TRUNC(the_date) <= sysdate 

TRUNC刪除分鐘和秒。有時你會得到不準確的記錄而不使用該記錄

+5

野生刺會翹起優化向全表掃描,除非有代替基於函數的索引。 –

+0

TRUNC(the_date)在WHERE子句中 –

相關問題