存算分离group_concat函数计算错误问题

【详述】
存算分离下, group_concat() 带分隔符时,计算错误。计算结果默认都带有了逗号

sql:

select
a1, GROUP_CONCAT(b1, ‘#’)
from (
SELECT
‘aaa’ as a1
, ‘1’ as b1
union all
SELECT
‘aaa’ as a1
, ‘2’ as b1
) t
group by a1
;

image

结果错误,应该是 1#2, 并不是 1#,2#

【StarRocks版本】3.2.8-759cc78

group_concat(b1 separator ‘#’)

set sql_mode = ‘GROUP_CONCAT_LEGACY’;
调一下这个参数看看

image
这个可以

这种语法的话,存算分离和存算一体的语法就有差异。有统一的语法吗?

GROUP_CONCAT_LEGACY 这个SQL mode 会控制 group concat的行为

设置 GROUP_CONCAT_LEGACY 后,也可以正常计算。

大佬,这个参数是啥意思?官网文档就这一句话,设置后会有啥影响吗?效率啥的有影响吗?

除了语法不一样其他的都一样。

大佬,请问一下,我们集群打算从2.5升级到3.x的版本,这个语法变更后,对我们有一部分作业都很有影响啊,有没有方案可以避免这种情况呢?

添加这个SQL MODE