针对日期范围进行测试
虽然使用 BETWEEN … AND …非常诱人的日期范围,但这是有问题的。相反,这种模式避免了大多数问题:
WHERE x >= '2016-02-25'
AND x < '2016-02-25' + INTERVAL 5 DAY
好处:
BETWEEN是’包容性的’,因此包括最后的日期或秒。- 如果你对
DATETIME有微秒分辨率,23:59:59是笨拙和错误的。 - 这种模式避免处理闰年和其他数据计算。
- 无论
x是DATE,DATETIME还是TIMESTAMP都有效。