BETWEEN 操作符在 WHERE 子句中使用,作用是選取介于兩個值之間的數(shù)據(jù)范圍。
操作符 BETWEEN ... AND 會選取介于兩個值之間的數(shù)據(jù)范圍。這些值可以是數(shù)值、文本或者日期。
SELECT column_name(s)FROM table_nameWHERE column_nameBETWEEN value1 AND value2
Persons 表:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
4 | Gates | Bill | Xuanwumen 10 | Beijing |
如需以字母順序顯示介于 "Adams"(包括)和 "Carter"(不包括)之間的人,請使用下面的 SQL:
SELECT * FROM PersonsWHERE LastNameBETWEEN
'Adams'AND
'Carter'
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
重要事項:不同的數(shù)據(jù)庫對 BETWEEN...AND 操作符的處理方式是有差異的。某些數(shù)據(jù)庫會列出介于 "Adams" 和 "Carter" 之間的人,但不包括 "Adams" 和 "Carter" ;某些數(shù)據(jù)庫會列出介于 "Adams" 和 "Carter" 之間并包括 "Adams" 和 "Carter" 的人;而另一些數(shù)據(jù)庫會列出介于 "Adams" 和 "Carter" 之間的人,包括 "Adams" ,但不包括 "Carter" 。
所以,請檢查你的數(shù)據(jù)庫是如何處理 BETWEEN....AND 操作符的!
如需使用上面的例子顯示范圍之外的人,請使用 NOT 操作符:
SELECT * FROM PersonsWHERE LastNameNOT
BETWEEN 'Adams' AND 'Carter'
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
3 | Carter | Thomas | Changan Street | Beijing |
4 | Gates | Bill | Xuanwumen 10 | Beijing |