SQL语句 between and 带不带等号 图里的另一种都带了
发布网友
发布时间:2022-04-07 17:15
我来回答
共3个回答
热心网友
时间:2022-04-07 18:44
between 本身是带的,用了 not 了就应该不带了,我觉得你截图上的第二个例子应该是有疑问的。
实际情况还是需要实践来验证嘛,下面是例子:
mysql> select * from a;
+-----+
| col |
+-----+
| 0 |
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
+-----+
8 rows in set (0.00 sec)
mysql> select * from a where col between 2 and 4;
+-----+
| col |
+-----+
| 2 |
| 3 |
| 4 |
+-----+
3 rows in set (0.00 sec)
mysql> select * from a where col not between 2 and 4;
+-----+
| col |
+-----+
| 0 |
| 1 |
| 5 |
| 6 |
| 7 |
+-----+
5 rows in set (0.00 sec)
追问就是不包括2和4
好难懂
追答也许其它的数据库有不同的实现,但同一数据库必然是统一的。
那么在同一个教材里边当然也是要统一,要么前面没有等号,要么后面没有等号,不可能同时有等号或同时没有等号。
热心网友
时间:2022-04-07 20:02
这个要根据具体数据库的,常用的数据库都是闭区间,就是你上面写的这样的,有些数据库就不是这样,这个要看你具体的数据库的,有差异;
如果 test_expression 的值大于或等于 begin_expression 的值且小于或等于
end_expression 的值,则 BETWEEN 返回 TRUE。
如果 test_expression 的值小于 begin_expression 的值或大于
end_expression 的值,则 NOT BETWEEN 返回 TRUE。
你可以看看这个,说明你后面的not between有问题
热心网友
时间:2022-04-07 21:37
between...and
相当于
>=...and <=...