[SQL ] 查詢月份間所有的活動
資料庫 MySQL 5.5.10
最近想要撰寫一個活動的系統
可以顯示特定月份中的活動
(例如選擇2012/12,會查詢出2012/12中會發生的事件)
(活動有可能是一個區間,非單一日期)
原本的想法如下
SQL: SELECT * FROM TABLE WHERE
YEAR(stardate) >= 2012 AND YEAR(enddate) <= 2012 AND
MONTH(startdate) >= 12 AND MONTH(enddate) <= 12
startdate/enddate 格式為 DATETIME
不過發現這樣設計很有問題
跨年份的活動就沒辦法 query
例如有個活動是2012.12.31~2013.1.1
這樣就失敗了
有沒有比較建議的寫法呢?
我查了很多網路上的寫法,都是單一日期(單一日期可以用BETWEEN達成)
而我的活動是一個區間
另外像是活動日期2012.11.30~2013.1.1
當query為2012/12時一樣要顯示
想了很久找不到簡潔的寫法,能否請版友提供建議~感謝m(_ _)m
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.221.241
※ 編輯: DRLai 來自: 118.166.221.241 (12/16 15:01)
※ 編輯: DRLai 來自: 118.166.221.241 (12/16 15:01)
※ 編輯: DRLai 來自: 118.166.221.241 (12/16 15:03)
推
12/16 15:25, , 1F
12/16 15:25, 1F
→
12/17 00:23, , 2F
12/17 00:23, 2F
→
12/17 02:03, , 3F
12/17 02:03, 3F
→
12/17 02:20, , 4F
12/17 02:20, 4F