BETWEEN运算符是一种逻辑运算符,判断指定值是否在范围内。
BETWEEN运算符的语法:
expr [NOT] BETWEEN begin_expr AND end_expr;
expr 是判断值是否在 begin_expr 和 end_expr 范围的内的表达式。
如果的值 expr大于或等于(> =) begin_expr ,且小于或等于的(<=)end_expr,则BETWEEN返回True,否则返回false。
BETWEEN示例:
BETWEEN运算符查找购买价格在90和100之间的产品:
SELECT productCode, productName, buyPrice
FROM products WHERE buyPrice BETWEEN 90 AND 100;
运行结果如下:
查询使用大于或等于(>=)和小于或等于(<=)运算符而不是BETWEEN运算符来获得相同的结果:
SELECT productCode, productName, buyPrice
FROM products WHERE。buyPrice >= 90 AND buyPrice <= 100;
查找购买价格不在$ 20到$ 100之间的产品,可以将BETWEEN操作符与NOT操作符组合如下:
SELECT productCode, productName, buyPrice
FROM products WHERE buyPrice NOT BETWEEN 20 AND 100;
运行结果如下:
可以使用小于()和逻辑运算符(AND)重写上面的查询,如下所示:
SELECT productCode, productName,buyPrice
FROM products WHERE buyPrice < 20 OR buyPrice > 100;
BETWEEN和日期示例
BETWEEN运算符与日期值一起使用时,为了获得最佳结果,应使用类型转换将列或表达式的类型显式转换为DATE类型。
查询订单的日期为2003年1月1日至2003年3月1日数据:
SELECT orderNumber, requiredDate, status
FROM orders WHERE requireddate BETWEEN
CAST('2003-01-01' AS DATE) AND CAST('2003-01-31' AS DATE);
运行结果: