据我所知,在SQL中,
X between Y and Z
给出与
相同的结果X >= Y and X <= Z
但我经常从我认为是SQL专家的人那里看到后者。
我应该知道一些微妙的差异吗?
答案 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标准,因此并未在所有数据库中实现。最常见的>=
和<=
可以在任何地方使用。