台灣最大程式設計社群網站
線上人數
1084
 
會員總數:246134
討論主題:189715
歡迎您免費加入會員
討論區列表 >> Oracle >> 日期時間區間的問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
日期時間區間的問題
價值 : 30 QP  點閱數:6565 回應數:6
樓主

kelly
門外漢
0 2
18 3
發送站內信

我想請問,我會傳入開始日期(sdate)和結束日期(edate),要抓異動日期(changedate)在起迄日期區間的資料,
日期格式含時間,我們一般是以午夜12:00到隔天12:00為一日,但我要抓的是以下午6:00到隔天下午6:00為一日。

請問大家,傳入起迄日期,要抓異動日期為當日18:00~隔日18:00為一日單位,起迄區間資料,要如何下sql呢?
謝謝~

例:我傳起2013/04/22迄2013/05/22,若有一筆資料為2013/05/22 19:08 則不包含此筆,若是2013/05/22 17:08 則包含此筆

搜尋相關Tags的文章: [ 日期 date ] ,
本篇文章發表於2013-05-22 10:12
1樓
回應

urbane
檢舉此回應
BETWEEN TO_DATE('2013/04/22 18:00','YYYY/MM/DD HH24:MI') AND TO_DATE('2013/05/22 18:00','YYYY/MM/DD HH24:MI')
本篇文章回覆於2013-05-22 10:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

kelly
檢舉此回應
BETWEEN TO_DATE('2013/04/22 18:00','YYYY/MM/DD HH24:MI') AND TO_DATE('2013/05/22 18:00','YYYY/MM/DD HH24:MI')
-------------------------------------------------------------------------------------------------------------------
請問這樣寫的話,若我起迄日期為2013/05/22同一天的話,好像資料會漏耶!
因為若為同一天的話,是要抓2013/05/21 18:00後一直到2013/05/22 18:00之前的資料~這樣才是一天!
本篇文章回覆於2013-05-22 11:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

urbane
檢舉此回應
d1:起的日期;d2:迄的日期
BETWEEN to_date(to_char(:d1-1,'YYYY/MM/DD')|| ' 18:00','YYYY/MM/DD HH24:MI') AND
to_date(to_char(:d2,'YYYY/MM/DD')|| ' 18:00','YYYY/MM/DD HH24:MI')
本篇文章回覆於2013-05-22 11:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

花旗蔘
檢舉此回應
BETWEEN TO_DATE('2013/04/22 18:00','YYYY/MM/DD HH24:MI')-1 AND TO_DATE('2013/05/22 18:00','YYYY/MM/DD HH24:MI')
本篇文章回覆於2013-05-22 11:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
>= (trunc(:StartDate) + 18/24)
<= (trunc(:EndDate) + 18/24) - 0.00001
本篇文章回覆於2014-11-25 11:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

Hsu, Harry
檢舉此回應
這類似半導體四二輪報報,以07:30來切割, 拙著中第13章, 僅需將時間軸往後拉6小時即可
本篇文章回覆於2014-11-27 08:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.