有人可以推薦查詢來檢索截至今天或某些日期的記錄嗎?獲取截至今天或在Oracle中某個日期的記錄
我需要生成一個Oracle報告,用戶需要輸入一個日期並記錄到該日期。
我試圖
select * from the_table where the_date <= sysdate
但是它似乎產生不準確的結果。什麼是更好的查詢這個。現在我只是在玩sysdate。稍後,我需要使用用戶鍵入的某個日期,並且需要顯示該日期之前的所有記錄。
有什麼建議嗎?
有人可以推薦查詢來檢索截至今天或某些日期的記錄嗎?獲取截至今天或在Oracle中某個日期的記錄
我需要生成一個Oracle報告,用戶需要輸入一個日期並記錄到該日期。
我試圖
select * from the_table where the_date <= sysdate
但是它似乎產生不準確的結果。什麼是更好的查詢這個。現在我只是在玩sysdate。稍後,我需要使用用戶鍵入的某個日期,並且需要顯示該日期之前的所有記錄。
有什麼建議嗎?
有時你會得到不準確的記錄,因爲兩個日期具有相同的日/月/年時,分鐘和秒等差異很小。請嘗試以下操作
select * from the_table where TRUNC(the_date) <= sysdate
TRUNC
刪除分鐘和秒。有時你會得到不準確的記錄而不使用該記錄
野生刺會翹起優化向全表掃描,除非有代替基於函數的索引。 –
TRUNC(the_date)在WHERE子句中 –
你能解釋一下「不準確的結果」是什麼嗎?例如,在表格中張貼數據的一些示例,解釋你做了什麼,不想檢索的行,以及顯示當前查詢沒有給出結果的位置會很有幫助。 –
編輯帖子時,請包括您正在使用的表的定義 - 字段名稱和數據類型。這張桌子上有觸發器嗎?任何約束,默認值等?如何索引?謝謝。在黑暗中 –