db2、mySQL 数据库中都有这个问题
问题现象:
SQL语句:select * from table where a_flag!='1';
a_flag有3种情况,1、0、null。
使用a_flag!='1'本意是想查出a_flag=‘0’以及a_flag is null的情况,
但事实上a_flag is null的记录并未被查出来。
为什么会这样?并且更重要的是,怎么解决呢?
NULL不=任何值,包括自己。要检查NULL值必须用 ISNULL 或者 IS NOT NULL条件where isnull(a_flag,'')!='1'
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。