MySQL NOT BETWEEN 操作符返回不在给定两个值或范围之间的记录。NOT BETWEEN 操作符与 BETWEEN 操作符正好相反。
例如,如果您想查找 2018 年的销售额。但是,如果您可能不关心四月和五月的销售额,那么使用 NOT BETWEEN 四月和五月作为值。
MySQL NOT BETWEEN 操作符语法
NOT BETWEEN 操作符的基本语法是:
SELECT Column_Names
FROM Table_Name
WHERE Column_Value NOT BETWEEN Value1 AND Value2
NOT BETWEEN 操作符显示不在 Value1 和 Value2 之间(包括它们)的记录。这意味着 Column_Value <= Value1 且 Column_Value >= Value2。
MySQL NOT BETWEEN 示例
这个简单的例子展示了 NOT BETWEEN 对数值数据的操作功能。在第一个语句中,3.2 不在 1 和 3 之间,22 不在 1 和 9 之间,因此返回 1。在下一个语句中,5 在 1 和 7 之间,2 在 1 和 9 之间,因此返回 0。
SELECT 3.2 NOT BETWEEN 1 AND 3, 22 NOT BETWEEN 1 AND 9;
SELECT 5 NOT BETWEEN 1 AND 7, 2 NOT BETWEEN 1 AND 9;
SELECT 2 NOT BETWEEN 3 AND 1, 7 NOT BETWEEN 9 AND 1;

在这个 MySQL 操作符示例中,我们将向您解释如何在此 NOT BETWEEN 操作符上使用字符串数据。
第一个 MySQL 语句返回 1,因为 d 不在 a 和 c 之间,t 不在 u 和 g 之间。在第二个语句中,它将字符串 10 转换为整数,并测试 2 是否不在 4 和 10 之间。
SELECT 'd' NOT BETWEEN 'a' AND 'c', 't' NOT BETWEEN 'u' AND 'g';
SELECT 2 NOT BETWEEN 4 AND '10', 7 NOT BETWEEN 5 AND '10';
SELECT 2 NOT BETWEEN 5 AND 'Hello';

MySQL NOT BETWEEN 操作符在数字和字符串数据上的示例
为了演示 NOT BETWEEN 操作符,我们使用此 Customer 表。下图显示了该表中的数据

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

此 MySQL NOT BETWEEN 操作符示例返回名字不在 Gail 和 Peter 之间的客户。它返回名字以字母 G 之前和 P 之后的那些名字。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE `First Name` NOT BETWEEN 'Gail' AND 'Peter';
提示:我们也可以使用单个字符,因为此 NOT BETWEEN 操作符将第一个字符作为参照。

NOT BETWEEN 日期示例
在此 NOT BETWEEN 日期示例中,我们返回所有雇佣日期不在 2009-01-01 和 2013-01-15 之间的客户。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE HireDate NOT BETWEEN '2009-01-01 ' AND '2013-01-15';
