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 运算符用于字符串数据。第一个语句返回 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';

MySQL BETWEEN 运算符在数值和字符串数据上的示例
为了演示,我们将使用 Customer 表。下面的 MySQL 屏幕截图显示了该表中的数据。

以下查询返回收入在 50000 和 80000 之间的客户。或者收入大于等于 50000 且小于等于 80000 的客户。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE Income BETWEEN 50000 AND 80000;

此示例查找所有姓氏在 Erickson 到 Suresh 之间的客户。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE `Last Name` BETWEEN 'Erickson' AND 'Suresh';
提示:我们也可以使用单个字符代替编写完整的名称。这是因为此函数将第一个字符视为参考。

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';

此 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;
