四时宝库

程序员的知识宝库

Postgresql SQL判断不等于踩坑(sql 判断不为空)

场景是一张表 有个markedasdeleted字段,作用是标记当前行数据是否删除,值为1,则是删除状态 值为0为正常状态,于是统计没有删除的数据条数SQL这样写。

select count(1) from t_table where markedasdeleted<>'1';

结果踩坑了,数据表里markedasdeleted 字段还有值是null的数据也是正常的数据,上面这样的写法会统计不到值为null的行,结果就不对了。

正确的写法应该是:

select count(1) from t_table where markedasdeleted<>'1' or markedasdeleted is null

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接