SQL指南-BETWEEN
BETWEEN ... AND
BETWEEN ... AND 运算符用来选择两值之间的范围。这些值可以是数字、文本或者日期。
SELECT column_name FROM table_name WHERE column_name BETWEEN value1 AND value2 |
-------------------------------------------
原始表 (用于示例)
LastName | FirstName | Address | City |
---|---|---|---|
Hansen | Ola | Timoteivn 10 | Sandnes |
Nordmann | Anna | Neset 18 | Sandnes |
Pettersen | Kari | Storgt 20 | Stavanger |
Svendson | Tove | Borgvn 23 | Sandnes |
-------------------------------------------
示例 1
使用下面的SQL语句显示按字母顺序的介于(并包含) "Hansen" 和 除 "Pettersen"之外的人:
SELECT * FROM Persons WHERE LastName BETWEEN 'Hansen' AND 'Pettersen' |
返回结果:
LastName | FirstName | Address | City |
---|---|---|---|
Hansen | Ola | Timoteivn 10 | Sandnes |
Nordmann | Anna | Neset 18 | Sandnes |
重要的!BETWEEN...AND运算符在不同数据库中有不同的处理。在一些数据库中LastName 为"Hansen" or "Pettersen"的person不会被显示(BETWEEN..AND只选择介于和不同包含测试值的区域)。在一些数据库中LastName 为"Hansen" or "Pettersen"的person将被显示(BETWEEN..AND选择介于和包含测试值的区域)。在其他一些数据库LastName 为"Hansen" 或"Pettersen"的person会被显示,但 "Pettersen"将不显示(BETWEEN..AND选择介于两值,包含第一个测试值和除最后一个测试值之外的值)。因此:核对你的数据库是对如何处理BETWEEN....AND运算符的。
-------------------------------------------示例 2
显示上一示例中在范围之外的Person使用NOT运算符。
SELECT * FROM Persons WHERE LastName NOT BETWEEN 'Hansen' AND 'Pettersen' |
返回结果:
LastName | FirstName | Address | City |
---|---|---|---|
Pettersen | Kari | Storgt 20 | Stavanger |
Svendson | Tove | Borgvn 23 | Sandnes |