“fromdate和todate”之间的区别& “date> = fromdate and date< = todate”

时间:2012-10-04 10:58:10

标签: mysql sql

我遇到了以下问题,但不确定它们之间是否存在任何差异,

select * from table where date between fromdate and todate

V/S

select * from table where date >= fromdate and date <= todate

如果我们使用第一个查询,它是否包含from&amp;至今?即在16/10/2012和22/10/2012之间,是否包括第16和第22?

非常感谢你。

6 个答案:

答案 0 :(得分:1)

Yes, it includes them.
这就是我避免BETWEEN的原因。这个名字至少含糊不清。不同的人理解不同的东西,你的问题也表明了这一点。

例如,根据我的理解,之间是独占,但在SQL中它是包含

答案 1 :(得分:1)

没有区别。

(a BETWEEN b AND c)

与写作相同

((a >= b) AND (a <= c))

答案 2 :(得分:0)

没有区别

两个查询都会给出相同的结果

答案 3 :(得分:0)

没有区别:

expr BETWEEN min AND max

如果expr大于或等于min且expr小于或等于max,则BETWEEN返回1,否则返回0.这相当于表达式(min&lt; = expr AND expr&lt; = max)如果所有参数都是相同的类型。

http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_between

答案 4 :(得分:0)

是的,他们被包括在内。第一个只是第二个的快捷方式,所以它们是等价的。

答案 5 :(得分:0)

你可以在这里查看一些解释: MySQL "between" clause not inclusive? 它还读取使用&lt; =&amp; =&GT;更快