服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL中查询字段为空或者为null的方法

MySQL中查询字段为空或者为null的方法

2022-12-13 17:19菜鸟要成长zz Mysql

这篇文章主要介绍了MySQL中查询字段为空或者为null的方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

MySQL查询字段为空或者为null

判断为null

?
1
select * from table where  column is null;

不为null:

?
1
select * from table where  column is not null;

判断为空或空格

?
1
select * from table where column ='';

注:不管是空还是其中有空格都可以显示出来。

补充:

  • 如果是excel导入mysql中创建临时表需要使用xls格式
  • 如果excel有字段为null,导入的时候转成字符 ‘null’

MySQL查询字段为空(null)时设置默认值

根据项目需要,在数据库查询时,可能需要对查询结果进行封装,为了避免前端抛出空指针异常(NullPointException)对于没有值的字段也不能返回空,而应该赋一个默认值,在使用 MYSQL 作为数据库时,可使用 IFNULL() 方法来实现这一功能

代码示例

有一用户表

?
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE `user` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id 主键',
  `user_name` varchar(30) DEFAULT NULL COMMENT '用户名',
  `user_passcode` varchar(100) DEFAULT NULL COMMENT '登陆密码',
  `user_email` varchar(50) DEFAULT NULL COMMENT '邮箱',
  `user_insert_time` varchar(30) DEFAULT NULL COMMENT '用户注册时间',
  `user_update_time` varchar(30) DEFAULT NULL COMMENT '用户更新时间',
  `user_status` tinyint(4) DEFAULT '1' COMMENT '用户账号状态,1正常(默认),2禁止登陆',
  `user_version` int(10) unsigned DEFAULT '1' COMMENT '版本控制字段(默认1)',
  `user_del` tinyint(4) DEFAULT '0' COMMENT '逻辑删除字段,0正常(默认),1删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';

查询用户信息:

?
1
2
3
4
5
SELECT
    IFNULL(u.id,0), IFNULL(u.user_name,''), IFNULL(u.user_passcode,''), 
    IFNULL(u.user_email,'')
FROM `user` u
LIMIT 0,10

IFNULL(exp1,exp2): 当表达式1(exp1) 值为空(null)时,方法返回表达式2(exp2)的值

总结

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

原文链接:https://blog.csdn.net/weixin_44688581/article/details/109988663

延伸 · 阅读

精彩推荐