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

2022-12-14,

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

目录
  • MySQL查询字段为空或者为null
    • 判断为null
    • 判断为空或空格
  • MySQL查询字段为空(null)时设置默认值
    • 总结

      MySQL查询字段为空或者为null

      判断为null

      select * from table where  column is null;

      不为null:

      select * from table where  column is not null;

      判断为空或空格

      select * from table where column ='';

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

      补充:

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

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

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

      代码示例

      有一用户表

      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='用户表';
      

      查询用户信息:

      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)的值

      总结

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持北冥有鱼。

      《MySQL中查询字段为空或者为null的方法.doc》

      下载本文的Word格式文档,以方便收藏与打印。