Skip to main content

用实例说明MySQL之间的运算符

MySQL操作系统简介

BETWEEN运算符是一个逻辑运算符,用于指定值是否在某个范围内。下面是BETWEEN运算符的语法:

value BETWEEN low AND high;

如果出现以下情况,BETWEEN运算符将返回1:

value >= low AND value <= high

否则,它返回0。

如果值、低或高为NULL,则BETWEEN运算符返回NULL。

例如,以下语句返回1,因为15介于10和20之间:

SELECT 15 BETWEEN 10 AND 20;

以下示例返回0,因为15不在20和30之间:

SELECT 15 BETWEEN 20 AND 30;

请注意,MySQL将1视为true,将0视为false。

不在中间

要对BETWEEN运算符求反,请使用NOT运算符:

value NOT BETWEEN low AND high

如果出现以下情况,NOT BETWEEN运算符将返回1:

value < low OR value > high

否则,它返回0。

例如,以下语句返回0,因为15不在10和20之间是不正确的:

SELECT 15 NOT BETWEEN 10 AND 20;

实际上,您将在SELECT、UPDATE和DELETE语句的WHERE子句中使用BEFORE运算符。

MySQL在运算符示例之间

让我们用一些使用BETWEEN运算符的示例进行练习。

1) 使用MySQL和一些例子

请参见示例数据库中的以下产品表:

以下示例使用BETWEEN运算符查找购买价格在90到100之间的产品:

SELECT 
productCode,
productName,
buyPrice
FROM
products
WHERE
buyPrice BETWEEN 90 AND 100;

MySQL BETWEEN buyprice example

此查询使用大于或等于(>=)和小于或等于(<=)运算符而不是中间运算符来获得相同的结果:

SELECT 
productCode,
productName,
buyPrice
FROM
products
WHERE
buyPrice >= 90 AND buyPrice <= 100;

要查找购买价格不在20美元和100美元之间的产品,请使用not between操作符,如下所示:

SELECT 
productCode,
productName,
buyPrice
FROM
products
WHERE
buyPrice NOT BETWEEN 20 AND 100;

MySQL NOT BETWEEN example

您可以使用小于(<)、大于(>)和逻辑运算符(and)重写上述查询,如下所示:

SELECT 
productCode,
productName,
buyPrice
FROM
products
WHERE
buyPrice < 20 OR buyPrice > 100;

2) 以日期为例使用MySQL-BETWEEN操作符

见下表:

table orders

要检查某个值是否介于日期范围之间,应显式将该值强制转换为日期类型。

例如,以下语句返回所需日期在2003年1月1日至2003年1月31日之间的订单:

SELECT 
orderNumber,
requiredDate,
status
FROM
orders
WHERE
requireddate BETWEEN
CAST('2003-01-01' AS DATE) AND
CAST('2003-01-31' AS DATE);

MySQL BEETWEEN with Dates Example

在本例中,我们使用CAST()将文字字符串“2003-01-01”转换为日期值:

CAST('2003-01-01' AS DATE)

总结