mysql查询结果NULL赋默认值

为mysql查询null值赋默认值使用ifnull函数。

出现null值的情况,一般是在多表联合查询的时候。比如有一个文章表和一个评论表,评论表的外键是文章表的主键id。设想我们的需求是实现带评论总数的文章列表时,无评论的文章,统计的评论总是将是null值。

例:

select a.*,b.num as num from article as a left join (select count(*) as num,article_id from article_reply group by article_id) as b on a.id=b.article_id

b.num将是null值。

怎样将null值转换为零呢。

有两种方式:

1.在view层判断,如果是null值就输出零。这种方法感觉太不舒服,这里不介绍,也不推荐。

2.在sql层级处理,view层无需做任何的处理。

例:

select a.*,ifnull(b.num,0) as num from article as a left join (select count(*) as num,article_id from article_reply group by article_id) as b on a.id=b.article_id

上列中的0就是默认值,当然你也可以赋其它默认值。

本文固定链接: http://www.webzhishi.com/mysql_ifnull/ | web知识网

mysql查询结果NULL赋默认值:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter