BETWEEN在 WHERE 子句中使用,用来选取两个值之间的数据。这些值可以是数值、文本或者日期。
语法
SELECT 列FROM 表
WHERE 列
BETWEEN value1 AND value2
表:
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"(不包括)之间的人,可使用下面的语句:
SELECT * FROM Persons
WHERE LastName
BETWEEN 'Adams' AND 'Carter'
结果:
Id |
LastName |
FirstName |
Address |
City |
1 |
Adams |
John |
Oxford Street |
London |
2 |
Bush |
George |
Fifth Avenue |
New York |
注:某些数据库会列出介于 "Adams" 和 "Carter" 之间的人,但不包括 "Adams" 和 "Carter" ;
某些数据库会列出介于 "Adams" 和 "Carter" 之间并包括 "Adams" 和 "Carter" 的人;
而另一些数据库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter" 。
所以在使用之前,请检查你的数据库是如何处理 BETWEEN....AND 操作符的!
例
如果需要显示上面例子范围之外的人,可使用 NOT 操作符:
SELECT * FROM Persons
WHERE LastName
NOT BETWEEN 'Adams' AND 'Carter'
结果集:
Id |
LastName |
FirstName |
Address |
City |
3 |
Carter |
Thomas |
Changan Street |
Beijing |
4 |
Gates |
Bill |
Xuanwumen 10 |
Beijing |