今天偶然发现BETWEEN的一个问题,我用BETWEEN做了一个日期条件的查询,2个日期是一样的,没有结果,然而库中是有数据的,说明结果中没有包含后一个值的内容,百度了一下,看到这样一句话:
重要事项:不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "Adams" 和 "Carter" 之间的人,但不包括 "Adams" 和 "Carter" ;某些数据库会列出介于 "Adams" 和 "Carter" 之间并包括 "Adams" 和 "Carter" 的人;而另一些数据库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter" 。
可是在SQL Server帮助中且看到这样的话:
结果值
如果 test_expression 的值大于或等于 begin_expression 的值并且小于或等于 end_expression 的值,则 BETWEEN 返回 TRUE。
如果 test_expression 的值小于 begin_expression 的值或者大于 end_expression 的值,则 NOT BETWEEN 返回 TRUE。
真是无语了,以前不常用BETWEEN,看来以看也不能常用。