mysql-组concat中的不同分隔符
作者:互联网
我有这样的SQL查询:
REPLACE(
GROUP_CONCAT(
IF(
(timediff(delta_ts,creation_ts) > '03:00:00')
&& (priority='P5') ,bug_id,'')
),',,','' )
AS exceeded_bugs
from bugs
......
我得到的结果是:
exceeded_bugs: ,3743331,3743332,3743333
我需要其他定界符,因为Group concat的默认定界符为“,”.我需要使用空格或“ |”分隔错误或“-”符号.
我试着给:-
REPLACE(
GROUP_CONCAT(
IF(
(timediff(delta_ts,creation_ts) > '05:00:00')
&& (priority='P6') ,bug_id,'')
)
,SEPARATOR '-' )
AS exceeded_bugs
from bugs
.....
我收到错误:
您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在’SEPARATOR’-‘)附近使用,作为第1行的beyond_bugs
请使用不同的分隔符来帮助更正concat组的sql语法.
解决方法:
在SEPARATOR之前不要使用逗号
首先,您没有在group_concat函数中包括分隔符.
第二,你没有用替换功能做任何事情
编辑:
REPLACE(GROUP_CONCAT( IF( (timediff(delta_ts,creation_ts) > '03:00:00') && (priority='P5') ,bug_id,'') SEPARATOR '-'),',,','' ) as exceeded_bugs
标签:replace,delimiter,group-concat,mysql 来源: https://codeday.me/bug/20191123/2065075.html