SQL Server中,sql語句“between and”是包括邊界值的,“not between”不包括邊界值?!癇ETWEEN … AND”語句會(huì)選取介于兩個(gè)值之間的數(shù)據(jù)范圍;這些值可以是數(shù)值、文本或者日期。
本教程操作環(huán)境:windows7系統(tǒng)、SQL Server 2008版本、Dell G3電腦。
BETWEEN 操作符
操作符 BETWEEN ... AND
會(huì)選取介于兩個(gè)值之間的數(shù)據(jù)范圍。這些值可以是數(shù)值、文本或者日期。
SQL BETWEEN 語法:
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2
重要事項(xiàng):
不同的數(shù)據(jù)庫(kù)對(duì) BETWEEN…AND 操作符的處理方式是有差異的。某些數(shù)據(jù)庫(kù)會(huì)列出介于 "Adams" 和 "Carter" 之間的人,但不包括 "Adams" 和 "Carter" ;某些數(shù)據(jù)庫(kù)會(huì)列出介于 "Adams" 和 "Carter" 之間并包括 "Adams" 和 "Carter" 的人;而另一些數(shù)據(jù)庫(kù)會(huì)列出介于 "Adams" 和 "Carter" 之間的人,包括 "Adams" ,但不包括 "Carter" 。
所以,請(qǐng)檢查你的數(shù)據(jù)庫(kù)是如何處理 BETWEEN….AND 操作符的!
一般情況:
SQL Server中 between and是包括邊界值的,not between不包括邊界值,不過如果使用between and 限定日期需要注意,如果and后的日期是到天的,那么默認(rèn)為00:00:00 例如:and 后的日期為2017年04月06日,就等價(jià)于2017-04-06 00:00:00 ,那么2017-04-06 15:10:34的數(shù)據(jù)就差不到了,需要進(jìn)行to_char處理。