MySQL查询字段为NULL、不为NULL的数据问题
更新时间:2025年02月13日 10:49:41 作者: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 才可以

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
MySQL正则表达式regexp_replace函数的用法实例
regexp_replace的使用非常灵活,且容易忘记,故做此笔记,下面这篇文章主要给大家介绍了关于MySQL正则表达式regexp_replace函数的用法实例,需要的朋友可以参考下2022-09-09
Windows系统下MySQL忘记root密码的2种解决办法
这篇文章主要介绍了Windows系统下MySQL忘记root密码的2种解决办法,一种是通过启动MySQL时跳过权限表验证,然后重置密码,另一种是创建一个包含新密码的文本文件,并通过MySQL的--init-file选项来应用该文件中的密码设置,需要的朋友可以参考下2024-11-11


最新评论