前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL:concat拼接字段导致数据为空问题解决方案

MySQL:concat拼接字段导致数据为空问题解决方案

作者头像
关忆北.
发布2022-05-05 15:11:01
2.9K0
发布2022-05-05 15:11:01
举报
文章被收录于专栏:关忆北.关忆北.关忆北.

使用MySQL concat函数进行拼接不同字段时,如果遇到拼接变量其中一个是Null值的情况,会导致整个拼接的字段为Null。

看例子:

select iv.id as vehicleId
from vehicle iv
where iv.id < 5
order by iv.id;
image-20220324173008783
image-20220324173008783
select id, company_name
from company
where id = 1;
image-20220324173047622
image-20220324173047622

当进行关联查询时,vehicle表中假设有两条数据company_id为null,那么就会导致concat的字段整个为空。

select iv.id as vehicleId, company_name as companyName, concat(iv.id, 'concat', ic.company_name) as concatName
from vehicle iv
         left join company ic on ic.id = iv.insurance_company_id = ic.id
where iv.id < 5
order by iv.id;
image-20220324173231699
image-20220324173231699

解决方案:

concat配合IFNULL使用。

select iv.id                                                            as vehicleId,
       company_name                                                     as companyName,
       concat(ifnull(iv.id, 'null'), 'concat', ifnull(ic.company_name, 'null')) as concatName
from insurance_vehicle iv
         left join insurance_company ic on ic.id = iv.insurance_company_id = ic.id
where iv.id < 5
order by iv.id;
image-20220324173344999
image-20220324173344999
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档