SQL BETWEEN
BETWEEN ... AND
操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
语法:
SELECT 列名称 FROM 表名称 WHERE 列名称BETWEEN值1AND值2
原始的表 (在实例中使用:)
| LastName | FirstName | Address | City |
|---|---|---|---|
| Adams | John | Oxford Street | London |
| Bush | George | Fifth Avenue | New York |
| Carter | Thomas | Changan Street | Beijing |
| Gates | Bill | Xuanwumen 10 | Beijing |
实例 1
如需以字母顺序显示介于 "Adams"(包括)和 "Carter"(不包括)之间的人,请使用下面的 SQL:
SELECT * FROM Persons WHERE LastNameBETWEEN'Adams'AND'Carter'
结果:
| LastName | FirstName | Address | City |
|---|---|---|---|
| Adams | John | Oxford Street | London |
| Bush | George | Fifth Avenue | New York |
重要事项:不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "Adams" 和 "Carter" 之间的人,但不包括 "Adams" 和 "Carter" ;某些数据库会列出介于 "Adams" 和 "Carter" 之间并包括 "Adams" 和 "Carter" 的人;而另一些数据库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter" 。
所以,请检查你的数据库是如何处理 BETWEEN....AND 操作符的!
实例 2
如需使用上面的例子显示范围之外的人,请使用 NOT 操作符:
SELECT * FROM Persons WHERE LastName NOT BETWEEN 'Adams' AND 'Carter'
结果:
| LastName | FirstName | Address | City |
|---|---|---|---|
| Carter | Thomas | Changan Street | Beijing |
| Gates | Bill | Xuanwumen 10 | Beijing |