MySQL 的 NOT BETWEEN
运算符返回不在给定范围内的值。开始值和结束值被视为范围的一部分,因此被排除在 NOT BETWEEN
的结果之外。
用法
SELECT column_name(s)
FROM table_name
WHERE column_name NOT BETWEEN value1 AND value2;
例子
考虑下表有关一些学生的信息:
student_id |
名称 |
名字 |
day_enrolled |
年龄 |
用户名 |
---|---|---|---|---|---|
1 |
Sky |
Towner |
2015-12-03 |
17 |
stowner1 |
2 |
Ben |
Davis |
2016-04-20 |
19 |
bdavis2 |
3 |
Travis |
Apple |
2018-08-14 |
18 |
tapple3 |
4 |
Arthur |
David |
2016-04-01 |
16 |
adavid4 |
5 |
Benjamin |
Town |
2014-01-01 |
17 |
btown5 |
可以使用此处的代码创建上述示例表。
数字
要选择年龄不在 16
和 18
之间的学生:
SELECT * FROM studentsWHERE age
NOT BETWEEN 16 AND 18;
+------------+-------+-------+--------------+------+----------+
| student_id | fname | lname | day_enrolled | age | username |
+------------+-------+-------+--------------+------+----------+
| 2 | Ben | Davis | 2016-04-20 | 19 | bdavis2 |
+------------+-------+-------+--------------+------+----------+
请注意,'Arthur'
和 'Travis'
(分别为 16
和 18
)不包含在结果中,因为 NOT BETWEEN
运算符不包括开始值和结束值。
弦乐
要查找名字小于 'A'
或大于 'E'
的学生:
SELECT * FROM students
WHERE fname
NOT BETWEEN 'A' AND 'E';
+------------+--------+--------+--------------+------+----------+
| student_id | fname | lname | day_enrolled | age | username |
+------------+--------+--------+--------------+------+----------+
| 1 | Sky | Towner | 2015-12-03 | 17 | stowner1 |
| 3 | Travis | Apple | 2018-08-14 | 18 | tapple3 |
+------------+--------+--------+--------------+------+----------+
请注意,不会返回名称字符串值介于 'A'
和 'E'
之间的 'Arthur'
、 'Ben'
和 'Benjamin'
。
日期
查找2014年1月1日至2016年4月1日期间未注册的学生:
SELECT * FROM students
WHERE day_enrolled
NOT BETWEEN '2014-01-01' AND '2016-04-01';
+------------+--------+-------+--------------+------+----------+
| student_id | fname | lname | day_enrolled | age | username |
+------------+--------+-------+--------------+------+----------+
| 2 | Ben | Davis | 2016-04-20 | 19 | bdavis2 |
| 3 | Travis | Apple | 2018-08-14 | 18 | tapple3 |
+------------+--------+-------+--------------+------+----------+
相关用法
- MySQL NOT REGEXP用法及代码示例
- MySQL NOT IN用法及代码示例
- MySQL NOT LIKE用法及代码示例
- MySQL NOT用法及代码示例
- MySQL NOW()用法及代码示例
- MySQL NOW方法用法及代码示例
- MySQL NULLIF( )用法及代码示例
- MySQL ROUND()用法及代码示例
- MySQL REPEAT()用法及代码示例
- MySQL POWER()用法及代码示例
- MySQL LEAD() and LAG()用法及代码示例
- MySQL IS_IPV4()用法及代码示例
- MySQL RADIANS方法用法及代码示例
- MySQL VARIANCE方法用法及代码示例
- MySQL WEEK()用法及代码示例
- MySQL TIME_FORMAT方法用法及代码示例
- MySQL CURTIME()用法及代码示例
- MySQL weekofyear()用法及代码示例
- MySQL Convert()用法及代码示例
- MySQL IS NOT用法及代码示例
- MySQL FROM_BASE64()用法及代码示例
- MySQL LEFT方法用法及代码示例
- MySQL UCASE方法用法及代码示例
- MySQL PI()用法及代码示例
- MySQL CONCAT()用法及代码示例
注:本文由纯净天空筛选整理自Arthur Yanagisawa大神的英文原创作品 MySQL | NOT BETWEEN。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。