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

mysql字段为空(含null、空字符串)的判断项目中经常遇到判断 varchar 类型字段是否为空,包含空字符串 和null ,对其处理不当就会坑你一把,弄的你一点脾气都没有,应小伙伴儿们要

大家好,欢迎来到IT知识分享网。

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

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

表结构

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

表数据

— 1.执行结果是什么?

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

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

查询结果

— 2.执行结果是什么?

select * from a where name is null ;

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

查询结果

看到这,是不是明白点了,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 =”

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/60826.html

(0)
上一篇 2024-06-20 21:15
下一篇 2024-06-26 22:45

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信