在写SQL 条件语句是经常用到 不等于‘<>’的筛选条件,此时要注意此条件会将字段为null的数据也当做满足不等于的条件而将数据筛选掉。
例:表A
| A1 | B1 |
| 1 | 0 |
| 2 | 1 |
| 3 | NULL |
用 select * from A where B1<>1查询时得到的结果为:
| A1 | B1 |
| 1 | 0 |
要查出第三列只需将SQL 改为 :select * from A where B1<>1 or B1 is null 即可。
开发中遇到该问题记录下
本文介绍在使用SQL进行数据筛选时,如何正确处理不等于条件与字段为空的情况,避免筛选过程中遗漏重要数据。
在写SQL 条件语句是经常用到 不等于‘<>’的筛选条件,此时要注意此条件会将字段为null的数据也当做满足不等于的条件而将数据筛选掉。
例:表A
| A1 | B1 |
| 1 | 0 |
| 2 | 1 |
| 3 | NULL |
用 select * from A where B1<>1查询时得到的结果为:
| A1 | B1 |
| 1 | 0 |
要查出第三列只需将SQL 改为 :select * from A where B1<>1 or B1 is null 即可。
开发中遇到该问题记录下

被折叠的 条评论
为什么被折叠?