【开发心得】mysql根据逗号拆分字符串和把查询结果使用逗号拼接成字符串

如题,其实这是一个比较常见的需求,很多时候我们可能在业务层就拼接了,也可以在sql中进行拼接。

将查询结果拼接成带逗号的字符串

例子:

select GROUP_CONCAT(concat(cc.id,':',cc.name)) from 
   ma_vod_categoryprogrammapping mcp 
left join 
   ma_category cc
on 
   cc.code = mcp.category_code
where 
   mcp.program_id = '2110MAMS000011590665343005000'

将一个带逗号的字符串拆分

例子:

SELECT 
SUBSTRING_INDEX(SUBSTRING_INDEX('7654,7698,7782,7788',',',help_topic_id+1),',',-1) AS num 
FROM 
mysql.help_topic 
WHERE 
help_topic_id < LENGTH('7654,7698,7782,7788')-LENGTH(REPLACE('7654,7698,7782,7788',',',''))+1

 

执行结果:

 

posted @ 2020-05-29 11:51  虹梦未来  阅读(9)  评论(0编辑  收藏  举报  来源