如何将字符串变成逗号分隔的字符串

MySQL 5版本,中如何使用一条sql将'一二三'处理成'一,二,三'

buquanshuai 发布于 2021-8-2 15:49 (编辑于 2021-8-2 16:09)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
xiaoxing2315Lv6见习互助
发布于2021-8-2 21:24(编辑于 2021-8-2 21:25)

SELECT

t3.str,

GROUP_CONCAT( t3.str_1 ) AS str_2 

FROM

(

SELECT

t1.str,

substr( t1.str, t2.help_topic_id + 1, 1 ) AS str_1,

t2.help_topic_id 

FROM

( SELECT 'abc' AS str UNION ALL SELECT 'bcd' AS str ) t1

JOIN mysql.help_topic t2 ON t2.help_topic_id < length( t1.str ) 

) t3 

GROUP BY

t3.str

其中help_topic是MySQL库的自增表,如果自己有自增表也是一样的。

这里的思路是先拆成多行,再合并。

image.png

最佳回答
0
snrtuemcLv8专家互助
发布于2021-8-2 15:52(编辑于 2021-8-2 15:54)

replace('一二三','',',')

这样试试

image.png

=======

image.png

  • buquanshuai buquanshuai(提问者) 不行,没变化
    2021-08-02 15:52 
  • snrtuemc snrtuemc 回复 buquanshuai(提问者) 那就不清楚,帆软中到时可以这样设置,看修改答案
    2021-08-02 15:54 
  • buquanshuai buquanshuai(提问者) 回复 snrtuemc ,一,二,三, 这样处理 前后都会多出一个逗号
    2021-08-02 15:57 
  • snrtuemc snrtuemc 回复 buquanshuai(提问者) 在用left,right函数截取掉前后逗号。。。
    2021-08-02 16:00 
最佳回答
0
烟尘Lv6高级互助
发布于2021-8-2 15:55

select regexp_replace('sdsda','/*',',',1,0,'i') str from dual;

  • buquanshuai buquanshuai(提问者) 感谢回答,试了一下,MySQL5版本中无法使用regexp_replace
    2021-08-02 16:11 
最佳回答
0
zsh331Lv8专家互助
发布于2021-8-2 16:16

JOINARRAY(split("ABC",""),",")

_____________

image.png

  • 5关注人数
  • 657浏览人数
  • 最后回答于:2021-8-2 21:25
    请选择关闭问题的原因
    确定 取消
    返回顶部