平常在工作中使用 GROUP_CONCAT() 函数的频率可以说是相当高了,

GROUP_CONCAT()  可以帮我们拼接字符串, 跟列, 非常好用 , 

在一次使用中, 发现 GROUP_CONCAT() 之后的结果为NULL, 

我: ????? 

 

后来发现

sql语句:

1: select GROUP_CONCAT("武汉加油!"," 中国加油!")

    结果: 武汉加油! 中国加油!

 

2:   select GROUP_CONCAT("武汉加油!", NULL ," 中国加油!")

   结果: 空 (NULL)

 

原来, 在 GROUP_CONCAT() 中, 如果某列为NULL的话, 得到的结果就会为NULL (空)

在场景条件下, 我们可以增加一些为空的判断函数进行判断, 使得结果到达我们的预期

例如:  IF函数, IFNULL函数

 

扩展: 

GROUP_CONCAT 默认使用逗号( , )来作为分隔符, 如果想要其他字符作为分隔符的话,可以使用 Separator 来实现

select  GROUP_CONCAT(id)  from t_user ;  # 1,2,3

select  GROUP_CONCAT(id Separator  ';' )  from t_user ;  # 1;2;3

 

 

 

 

 

 

 

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐