例: id name
1 aa
2 bb
3 cc
要的结果是"aa,bb,cc"
以前有过这种需求,我用存储过程拼接,或者在程序中取出数据拼接,就这样暂时解决了。
可是事后一直在想是不是可以直接查出来,这样就简单多了,oracle中应该有这样的方法的,可是一直没找到,呵呵,今天终于解决了。
select WMSYS.WM_CONCAT(a.name) from user a
这样的话,查询出的结果:"aa.bb.cc"
解决是解决了,不过用中间用点间隔不太好,希望用逗分号
改进一下:
select replace(WMSYS.WM_CONCAT(a.name),',',';') from user a
结果:"aa;bb;cc"
原文摘自: http://www.iteye.com/topic/683105
本文介绍了一种在Oracle数据库中实现字符串批量拼接的方法。通过使用WMSYS.WM_CONCAT函数结合REPLACE函数,可以有效地将多个字符串值拼接为一个单一的字符串,并且可以在拼接过程中自定义分隔符。
3290

被折叠的 条评论
为什么被折叠?



