MySQL的between的边界问题

本文最后更新于2016年12月15日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

=Start=

缘由:

之前在写一个Web应用的时候碰到过类似的问题,当时也不清楚between的边界到底是个什么情况,就用「>/>=/</<=」替换了。今天又碰到了,索性彻底了解一下。

正文:

参考解答:

官网上的说明:

expr BETWEEN min AND max

If expr is greater than or equal to min and expr is less than or equal to maxBETWEEN returns 1, otherwise it returns 0. This is equivalent to the expression (min <=expr AND expr <= max) if all the arguments are of the same type. Otherwise type conversion takes place according to the rules described in Section 13.2, “Type Conversion in Expression Evaluation”, but applied to all the three arguments.

即,MySQL的between是包含两边的边界值的,等价于「min <=expr AND expr <= max」。

另外一个「not between」:

expr NOT BETWEEN min AND max

This is the same as NOT (expr BETWEEN min AND max).

所以,「not between」是对「between」的取反,则不包含边界值,等价于「expr < min OR expr > max」。

参考链接:

=END=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/3049.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注