針對日期範圍進行測試

雖然使用 BETWEENAND …非常誘人的日期範圍,但這是有問題的。相反,這種模式避免了大多數問題:

WHERE x >= '2016-02-25'
  AND x  < '2016-02-25' + INTERVAL 5 DAY

好處:

  • BETWEEN 是’包容性的’,因此包括最後的日期或秒。
  • 如果你對 DATETIME 有微秒解析度,23:59:59 是笨拙和錯誤的。
  • 這種模式避免處理閏年和其他資料計算。
  • 無論 xDATEDATETIME 還是 TIMESTAMP 都有效。