SQL BETWEEN 操作符

IN  这个指令可以让我们依照一或数个不连续  (discrete)  的值的限制之内抓出资料库中的

值,而  BETWEEN则是让我们可以运用一个范围  (range)    内抓出资料库中的值。BETWEEN

这个子句的语法如下:

SELECT "栏位名"  

FROM "表格名"  

                  WHERE " 栏位名 "BETWEEN ' 值一 ' AND ' 值二 '

这将选出栏位值包含在值一及值二之间的每一笔资料。


举例来说,若我们要由 Store_Information  表格中找出所有介于  January 6, 1999      January

10, 1999  中的资料,


Store_Information  表格

SQL语句学习之路11_第1张图片

       键入:SELECT * FROM Store_Information

             WHERE Date BETWEEN 'January 6, 1999' AND 'January10, 1999'

请读者注意:在不同的数据库中,日期的储存法可能会有所不同。在这里我们选择了其中一

种储存法。

              结果:

wKiom1NYdP2BqBhNAAClv16kRr4424.jpg

BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。

BETWEEN 操作符

操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

SQL BETWEEN 语法

SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN 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

BETWEEN 操作符实例

如需以字母顺序显示介于 "Adams"(包括)和 "Carter"(不包括)之间的人,请使用下面的 SQL:

SELECT * FROM Persons       //SELECT * FROM Persons WHERE LastName WETWEEN 'Adams' AND 'Carter'
WHERE LastName
BETWEEN 'Adams' AND 'Carter'

结果集:

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 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'

结果集:

Id LastName FirstName Address City
3 Carter Thomas Changan Street Beijing
4 Gates Bill Xuanwumen 10 Beijing