摘要:参数 test_expression 是在由 begin_expression 和 end_expression 定义的范围内进行测试的表达式,它们必须具有相同的数据类型。
在 SQL 中,BETWEEN AND 用于指定一个测试范围。
其语法为:test_expression (NOT) BETWEEN begin_expression AND end_expression。
参数 test_expression 是在由 begin_expression 和 end_expression 定义的范围内进行测试的表达式,它们必须具有相同的数据类型。
如果 test_expression 的值大于或等于 begin_expression 的值并且小于或等于 end_expression 的值,则 BETWEEN 返回 TRUE;
如果 test_expression 的值小于 begin_expression 的值或者大于 end_expression 的值,则 NOT BETWEEN 返回 TRUE。若要指定排除范围,可以使用大于 (>) 和小于 (
需要注意的是,不同的数据库对 BETWEEN...AND 操作符的处理方式可能存在差异,有些数据库会列出介于两个值之间但不包括这两个值的结果,有些会包括两个值,还有些会包括第一个值但不包括第二个值。
因此,在使用时需要检查所使用的数据库是如何处理该操作符的。
例如:
查询书的题头标识符,这些书的年度至今单位销售额是从 4,095 到 12,000:
USE pubs GO SELECT title_id, ytd_sales FROM titles WHERE ytd_sales BETWEEN 4095 AND 12000 GO
查询数据库表中 age1 的值在 0 到 5 的数据:SELECT * FROM table1 WHERE age1 BETWEEN 0 AND 5
查询价格介于 10 和 20 之间的所有产品:SELECT * FROM Products WHERE Price BETWEEN 10 AND 20
查询不在价格介于 10 和 20 之间的所有产品:SELECT * FROM Products WHERE Price NOT BETWEEN 10 AND 20
查询价格介于 10 和 20 之间但 CategoryID 不为 1、2 或 3 的所有产品:SELECT * FROM Products WHERE (Price BETWEEN 10 AND 20) AND CategoryID NOT IN(1,2,3)
查询 ProductName 以介于 'C' 和 'M' 之间字母开始的所有产品:SELECT * FROM Products WHERE ProductName BETWEEN 'C' AND 'M'
查询 ProductName 不以介于 'C' 和 'M' 之间字母开始的所有产品:SELECT * FROM Products WHERE ProductName NOT BETWEEN 'C' AND 'M'
查询 OrderDate 介于 '04-July-1996' 和 '09-July-1996' 之间的所有订单:SELECT * FROM Orders WHERE OrderDate BETWEEN #07/04/1996# AND #07/09/1996#
来源:心平氣和