最近遇到一个通过查多项数据,并且组合拼接展示的场景,
发现所有数据单查都没问题,唯独含有一个或多个结果是null的拼接结果出了问题
简单的demo如下:
此时我们可以看到拼接的结果返回[null],我们想要的是即使是null也拼接进去获取其他展示情况我们视需求开发而定,
比如我现在需要返回的结果是这样的:
就需要调整一下SQL语句了
我们先说一下造成这种情况的原因是什么:
如果leader的值为空,那么在拼接时它将被视为NULL。
这可能会导致groupName列的值为空,因为任何与NULL相连接的字符串都将产生NULL结果。
这个时候如何调整SQL:提供两种简单的思路:
1.可以使用COALESCE函数来提供默认值
2.使用CASE WHEN 语句 即可检查是否为null,如果为null就用字符串替换,其实和if else差不多的