SQL'介于'与比较两端

时间:2014-04-03 17:12:16

标签: sql

据我所知,在SQL中,

X between Y and Z

给出与

相同的结果
X >= Y and X <= Z

但我经常从我认为是SQL专家的人那里看到后者。

我应该知道一些微妙的差异吗?

2 个答案:

答案 0 :(得分:1)

好问题。简而言之,它们基本相同。文档说:

expr BETWEEN min AND max

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

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

答案 1 :(得分:0)

我认为between语法不符合ANSI标准,因此并未在所有数据库中实现。最常见的>=<=可以在任何地方使用。