Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL查询字段为NULL、不为NULL的数据

MySQL查询字段为NULL、不为NULL的数据问题

作者:RQ-ghylls

介绍了MySQL查询字段为NULL和不为NULL的数据时需要注意的几点,包括查询语句的编写和NULL与其他字符的操作,通过实际操作对比,指出使用IS NOT NULL可以正确查询到非NULL字段的数据

MySQL查询字段为NULL、不为NULL的数据

对于NULL字段的操作,有几点注意的地方,统一收集记录在此文章,以便后面的查找使用。

1.查询表中某一字段为NULL的结果

select * FROM table1 WHERE column1=null; #错误使用方法:查询结果为空
select * FROM table1 WHERE isNull(column1); #正确使用方法,注意isNull的大小写。isNULL就会报语法错误。

2.查询表中某一字段不为null的结果

select * FROM table1 WHERE column1 IS NOT NULL;

3.NULL与其他字符的拼接、运算、比较操作

select null+"aa";  #结果为NULL
select concat(null,"a"); #NULL与其他字符做拼接,结果为NULL
select null+1; #NULL与其他字符做运算,结果为NULL
select null<>0; #NULL与其他字符做比较,结果为NULL

在查询数据时,条件是某个字段不为空。

在这里用密码不为空来举例:

SELECT * FROM user WHERE password != NULL

可以看到在我的数据库里面,user表是有数据的

但是点击运行后,却没有任何结果。

接下来把查询语句里面的 != 换成 IS NOT

SELECT * FROM user WHERE password IS NOT NULL

会发现查询到了数据,用 != 查不到数据,用 IS NOT NULL 才可以

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文