MySQL BETWEEN 运算符

MySQL BETWEEN 运算符返回给定两个值或范围内的行的值。例如,您可以使用此运算符查找 2018 年 1 月至 2018 年 12 月期间的销售额。BETWEEN 运算符的基本语法可以写成:

SELECT Column_Names 
FROM Table_Name
WHERE Column_Value BETWEEN Value1 AND Value2

此运算符显示值 1 和值 2 之间的记录,包括它们。这意味着,Column_Value >= Value1 且 Column_Value <= Value2。

MySQL BETWEEN 运算符示例

这个简单的示例展示了 MySQL BETWEEN 在数值上的工作功能。在第一个语句中,2 在 1 到 3 之间,7 在 1 到 9 之间。因此,它返回 1。在下一个语句中,4 不在 1 和 3 之间,22 不在 1 和 9 之间,因此它返回 0。

SELECT 2 BETWEEN 1 AND 3, 7 BETWEEN 1 AND 9;

SELECT 4 BETWEEN 1 AND 3, 22 BETWEEN 1 AND 9;

SELECT 2 BETWEEN 3 AND 1, 7 BETWEEN 9 AND 1;
MySQL BETWEEN Operator Example 1

此示例展示了如何将此 MySQL BETWEEN 运算符用于字符串数据。第一个语句返回 1, 1,因为 b 在 a 和 c 之间,t 在 s 和 v 之间。在第二个语句中,它将字符串 10 转换为整数,并检查 8 是否在 4 和 10 之间。

SELECT 'b' BETWEEN 'a' AND 'c', 't' BETWEEN 's' AND 'v';

SELECT 8 BETWEEN 4 AND '10';

SELECT 8 BETWEEN 4 AND 'Hi';
Total characters within two alphabets 2

MySQL BETWEEN 运算符在数值和字符串数据上的示例

为了演示,我们将使用 Customer 表。下面的 MySQL 屏幕截图显示了该表中的数据。

Customer Table

以下查询返回收入在 50000 和 80000 之间的客户。或者收入大于等于 50000 且小于等于 80000 的客户。

SELECT EmpID, 
       `First Name`,
       `Last Name`,
       Qualification,
       Occupation,
       Income,
       Sales,
       HireDate
 FROM customer
 WHERE Income BETWEEN 50000 AND 80000;
BETWEEN Operator Employees income from 50000 to 80000

此示例查找所有姓氏在 Erickson 到 Suresh 之间的客户。

SELECT EmpID, 
       `First Name`,
       `Last Name`,
       Qualification,
       Occupation,
       Income,
       Sales,
       HireDate
FROM customer
WHERE `Last Name` BETWEEN 'Erickson' AND 'Suresh';

提示:我们也可以使用单个字符代替编写完整的名称。这是因为此函数将第一个字符视为参考。

BETWEEN Operator Example 5

MySQL BETWEEN 日期示例

在此日期示例中,我们查找所有入职日期在 2009-01-01 到 2013-01-15 之间的客户。

SELECT EmpID, 
       `First Name`,
       `Last Name`,
       Qualification,
       Occupation,
       Income,
       Sales,
       HireDate
FROM customer
WHERE HireDate BETWEEN '2009-01-01 ' AND '2013-01-15';
DATE BETWEEN 6

此 BETWEEN 日期示例查找并返回所有入职日期在 2009-01-01 和 2013-01-15 之间且收入在 60000 和 90000 之间的客户。

SELECT EmpID, 
       `First Name`,
       `Last Name`,
       Qualification,
       Occupation,
       Income,
       Sales,
       HireDate
FROM customer
WHERE HireDate BETWEEN '2009-01-01 ' AND '2013-01-15' AND
      Income BETWEEN 60000 AND 90000;
DATE Example 7