mysql 查询某一字段值不等于某个字符串的记录

我想查询name不等于李四的记录条数, SELECT COUNT(*) FROM t_user WHERE NAME != '李四' ,却只查出结果为 2条, 为什么 应该怎么写

第1个回答  推荐于2017-08-05
你的记录集里只有2条呀,除了李四,或者也可以这样写
select * from t_user where name not in ('李四');
这样也可以查除了name是李四的总条数
select COUNT(*) from t_user where name not in ('李四');追问

我的意思是有什么方法 把 那个name为null的记录也查出来 ,not in 查出来也是2条

本回答被网友采纳
第2个回答  2017-08-04

在数据库中空字符是不能直接用运算符来判断的。录入 null!=null 和 null=null 都是false。

你的语句调整为

SELECT COUNT(*) FROM t_user WHERE ifnull(NAME,'')!= '李四';
--或者
SELECT COUNT(*) FROM t_user WHERE (NAME!= '李四' or name is null);

第3个回答  2017-05-21
SELECT COUNT(*) FROM t_user WHERE NAME != '李四' or NAME is null本回答被提问者和网友采纳
第4个回答  2017-06-30
SELECT COUNT(*) FROM t_user WHERE NAME not like '李四' ,
相似回答