针对日期范围进行测试

虽然使用 BETWEENAND …非常诱人的日期范围,但这是有问题的。相反,这种模式避免了大多数问题:

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

好处:

  • BETWEEN 是’包容性的’,因此包括最后的日期或秒。
  • 如果你对 DATETIME 有微秒分辨率,23:59:59 是笨拙和错误的。
  • 这种模式避免处理闰年和其他数据计算。
  • 无论 xDATEDATETIME 还是 TIMESTAMP 都有效。