0
点赞
收藏
分享

微信扫一扫

问题复盘|MySQL 数据记录中明明有值,使用 concat() 后得到的却一直是 null

Python百事通 2023-11-14 阅读 41

背景

MySQL 的数据数据记录中明明有值,在使用 concat() 查询时却一直得到 null

SELECT CONCAT(first_name, ' ', last_name) FROM users;

排查后发现

MySQL 的 concat 函数拼接规则是 当多个拼接的字段的字段值中存在 null 时,返回的一定是 null

解决方案

利用函数 IFNULL() 函数处理 null 值

SELECT CONCAT(IFNULL(first_name, ''), ' ', IFNULL(last_name, '')) FROM users;

这样就相当于用空字符串替换 null 值,从而避免 concat() 函数返回 null

我不是第一个踩此坑的,肯定也不会是最后一个踩此坑的,简单记录,等待有缘人

举报

相关推荐

0 条评论