MySQL如何实现`BETWEEN`?

时间:2013-12-07 13:48:57

标签: mysql sql

MySQL之间是否包含范围界限?例如,如果我

date between '2013/12/02' AND '2013/12/01'

它们也将被包括在内吗?还有哪一个更好?我应该使用BETWEEN还是应该依赖<=>=

3 个答案:

答案 0 :(得分:0)

根据manual

  

如果expr大于或等于min且expr小于或等于max,则BETWEEN返回1,否则返回0. 这相当于表达式(min&lt; = expr AND expr&lt;如果所有参数属于同一类型,则= max)。否则,类型转换将根据第12.2节“表达式评估中的类型转换”中所述的规则进行,但应用于所有三个参数。

答案 1 :(得分:0)

之间有更好的效率。它解决了MYSQL可能不需要重新评估条件的问题。

请参阅此答案:Why use the BETWEEN operator when we can do without it?

答案 2 :(得分:0)

如果你的日期值实际上是日期时间值,并且时间组件并不总是'00:00:00',那么问题中的建议都不好。你想要第二个变种。具体来说,你想要

where yourfield >= your start date
and your field < the day after your end date