加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql字段为空(含null、空字符串)的判断

发布时间:2023-01-05 05:31:52 所属栏目:MySql教程 来源:网络
导读: 项目中经常遇到判断 varchar 类型字段是否为空mysql字段,包含空字符串('') 和null ,对其处理不当就会坑你一把,弄的你一点脾气都没有,应小伙伴儿们要求,这里写篇手记,对空字段

项目中经常遇到判断 varchar 类型字段是否为空mysql字段,包含空字符串('') 和null ,对其处理不当就会坑你一把,弄的你一点脾气都没有,应小伙伴儿们要求,这里写篇手记,对空字段的处理做下说明。

数据库,新建表 a 结构、数据:

mysql 字段允许为空_mysql 时间类型字段_mysql字段

表结构

mysql 字段允许为空_mysql 时间类型字段_mysql字段

表数据

-- 1.执行结果是什么?

select * from a where length(name)=0;

mysql 字段允许为空_mysql 时间类型字段_mysql字段

查询结果

-- 2.执行结果是什么?

select * from a where name is null ;

mysql 字段允许为空_mysql 时间类型字段_mysql字段

查询结果

看到这,是不是明白点了,null比较特殊,使用函数对其操作,只会返回null

由此得出结论:

select length(null) ; ==> null

select length(’’); ==> 0

常见写法:

where column1 is null or length(column1)=0;

或者

where ifnull(column1,'')='';

这两种写法有问题,where条件中使用函数当条件会导致索引失效!

性能最好的写法就是 column1 is null or column1 =''

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!