使用mySQL运算符BETWEEN与经典日期间隔有何区别?

Jak*_*ach 7 mysql sql between

可能重复:
SQL之间的差异运算符和"> ="&"<="运算符

我看到我的开发人员使用这种结构来选择所选日期间隔的数据:

SELECT ... WHERE `date` >= '2011-11-28' AND `date` <= '2011-12-04'
Run Code Online (Sandbox Code Playgroud)

我建议他使用BETWEEN像这样的运算符:

SELECT ... WHERE date BETWEEN '2011-11-28' AND '2011-12-04'
Run Code Online (Sandbox Code Playgroud)

哪种解决方案更好,有什么参数?

小智 4

AFAIK,这种方法在执行效率方面没有区别。但BETWEEN X AND Y似乎更具可读性和更好的性,所以我也想使用这种结构date >= '2011-11-28' AND date <= '2011-12-04'

但是:例如,如果您在应用程序中编写简单的日期时间过滤器,则您需要有机会仅选择第一个或仅第二个日期 - 这是date >= '2011-11-28' AND date <= '2011-12-04'应该使用的情况(我们可以省略日期 >= '2011-11-28'或者在我们的查询生成器中省略日期 <= '2011-12-04' 没有问题)。