在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1.测试数据create table test_null ( id int, name varchar(20), chinese int, math int, english int ) charset=utf8; insert into test_null values (1,null,80,70,68), (2,'张三',60,null,null), (3,'李四',null,90,80), (4,'王五',90,60,75), (5,null,null,50,95); 结果如下: 2.null值带给我们的不便影响1)过滤有所不同,只能使用is null或者is not null; # null值不能使用 == 或 != 来比较 # 下面两种用法都是错误的 select * from test_null where name == null; select * from test_null where name != null; # null值一般使用 is null 或 is not null 来比较 # 下面两种用法才是正确的 select * from test_null where name is null; select * from test_null where name is not null; 2)出现null值,会导致+ - * /运算失效; select *,(chinese+math+english) as 总分 from test_null; 结果如下: 3)null值对聚合函数无影响,聚合函数会直接忽略null值; select sum(chinese) 语文总分, sum(math) 数学总分, sum(english) 外语总分 from test_null 结果如下: 3.空格、空值和null,我们应该怎么判断呢?1)空格、空值和null的区别用一个形象的比喻来说明这三者的区别。首先空格很好理解,一个空字符串吗,占据一定的空间大小。不好理解的其实是空值和null,空值相当于一个杯子是真空状态的,什么也没有,null表示的杯子中有空气。 MySQL中, 2)出现了null值,我应该怎么办?通过上面的分析我们已经知道了,当表中存在null值,会导致加、减、乘、除运算失效。那么我们怎么处理这些null值比较好呢? 第一种方式:直接使用is not null将这些null值过滤掉,但是这样会将其它非缺失值的字段过滤掉,造成数据的浪费。 第二种方式:也是我们推荐的方式,我们使用函数进行缺失值的填充。 ifnull()和coalesce()函数的使用: select id, coalesce(name,'无名氏') name, coalesce(chinese,0) chinese, ifnull(math,0) math, ifnull(english,0) english from test_null; 结果如下: 以上就是MySQL系列关于NUll值的经验总结分析的详细内容,更多关于MySQL中的NUll值的资料请关注极客世界其它相关文章! |
请发表评论