[SQL ] 查詢月份間所有的活動

看板Database作者 (蘇打)時間11年前 (2012/12/16 14:59), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
資料庫 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
(startdate<'2013-01-01')AND(enddate>='2012-12-01')
12/16 15:25, 1F

12/17 00:23, , 2F
感謝~ 我試試看
12/17 00:23, 2F

12/17 02:03, , 3F
enddate為什麼需要條件?如果不是資料有問題應該不用?
12/17 02:03, 3F

12/17 02:20, , 4F
沒事 我犯傻 別理我
12/17 02:20, 4F
文章代碼(AID): #1GpN5kPb (Database)