Oracle 中如何獲得某天的某個時間段的資料

2021-04-22 19:33:09 字數 590 閱讀 9096

在oracle開發中可能會遇到這樣乙個問題,如每天傍晚6點定時提取當天截止到傍晚6點的資料,而如果每天18:00到24:00這段時間還有資料載入資料庫中,那麼這部分的資料將不能被提取.因此抽取資料時對時間的判斷應改為當天截止到傍晚6點以及前一天18時以後的資料.

為了能提取某一天的資料,因此需要把日期做為引數,假設為sp_date,格式為yyyymmdd.這樣的話對前一天晚上6點後的時間即需要拼湊,如先把sp_date減1,再拼攔接字串'180000'和'235959',然後再通過to_date轉換成oracle date型資料.這種方法比較麻煩,特別是如果傳入的sp_date是每個月的第一天,這樣,為求前一天的日期還不能單純是進行簡單的減1.

查詢oracle手冊,發現可以通過下面的方法來查詢,以實現該需求:

select * 

from tab

where to_char(time, 'yyyymmdd') = :sp_date

or time between trunc(to_date(:sp_date,'yyyymmdd')-1)+18/24

and trunc(to_date(:sp_date,'yyyymmdd')-1)+0.99999)

PHP獲得某天某星期某月的開始結束時間

13點代表 13,14 from unixtime unix timestamp date default timezone set prc echo strtotime date y m d h 00 00 當時之初 echo strtotime date y m d h 59 59 當時之末 e...

如何用C 程式設計獲得某台機器的IP位址?

如何用c 程式設計獲得某台機器的ip位址?編譯 northtibet 圖一 getip1的執行畫面 下面是 getip1 程式的 很簡單 getip1.cpp 本程式報告本機上每一塊網絡卡的ip位址 命令列編譯命令為 cl getip1.cpp wsock32.lib 請一定要在環境變數中正確指定l...

如何用C 程式設計獲得某台機器的IP位址

圖一 getip1的執行畫面 下面是 getip1 程式的 很簡單 getip1.cpp 本程式報告本機上每一塊網絡卡的ip位址 命令列編譯命令為 cl getip1.cpp wsock32.lib 請一定要在環境變數中正確指定lib庫的路徑 可以執行vcvars32.bat include inc...