今天偶然發現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,看來以看也不能常用。