选择日期范围

SELECT ... WHERE dt >= '2017-02-01'
             AND dt  < '2017-02-01' + INTERVAL 1 MONTH

当然,这可以通过 BETWEEN23:59:59 来完成。但是,这种模式有这样的好处:

  • 你没有预先计算结束日期(通常是从开始的确切长度)
  • 你不包括两个端点(如 BETWEEN 所做),也不要键入'23:59:59’以避免它。
  • 它适用于 DATETIMESTAMPDATETIME,甚至包含微秒的 DATETIME(6)
  • 它照顾闰日,年底等。
  • 它是索引友好的(BETWEEN 也是如此)。