MySQL 针对日期范围进行测试

示例

虽然这是非常诱人的使用BETWEEN... AND...的日期范围,这是有问题的。相反,此模式可避免大多数问题:

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

优点:

  • BETWEEN 是“包容性”,因此包括最后日期或第二个日期。

  • 23:59:59如果您在上具有微秒级的分辨率,则是笨拙且错误的DATETIME。

  • 此模式避免处理leap年和其他数据计算。

  • 它的工作原理无论x是DATE,DATETIME还是TIMESTAMP。