sql server 中 BETWEEN AND 的用法及实例!

B站影视 2025-01-13 17:41 2

摘要:参数 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#

来源:心平氣和

相关推荐