开发者社区> 问答> 正文

SQL过滤条件中,a_flag!='1'查不出来a_flag is null,怎么办?

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的记录并未被查出来。
为什么会这样?并且更重要的是,怎么解决呢?

展开
收起
落地花开啦 2016-02-26 15:33:12 2565 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    NULL不=任何值,包括自己。要检查NULL值必须用 ISNULL 或者 IS NOT NULL条件
    where isnull(a_flag,'')!='1'

    2019-07-17 18:48:19
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载