开发者社区> 问答> 正文

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 2563 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

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

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

相关电子书

更多
AnalyticDB基础版:云原生My SQL 敏捷数仓 立即下载
第十二届 BigData NoSQL Meetup — 基于hbase的New sql落地实践 立即下载
时序数据库TSDB的SQL与流计算 立即下载