wm_concat()函数

工作中遇到这样一个问题,一张数据库表中有一个字段file_id,还有一个主键f_id(唯一),而file_id不唯一,我想把file_id=‘123456789’的记录中的f_id(主键)连接成一个字符串,并且用‘,’隔开,方便后面的分解和使用,可以用一行代码搞定,如下:

select wm_concat(f_id) from tablename where file_id='1052018000543';

执行结果  20181124000020,20181124000021,20181124000022,20181124000023,20181124000024

现在又有一个问题,如果我要用动态sql怎么办,这样的结果就不是我想要的,我需要把每个元素用单引号引起来,这里推荐另一种方法,代码如下

select '''' ||replace(to_char(wm_concat(f_id)),',',''',''') || '''' 
from tablename where file_id = '1052018000543'

结果是     '20181124000020','20181124000021','20181124000022','20181124000023','20181124000024'

一切Ok

猜你喜欢

转载自www.cnblogs.com/wangjp-1233/p/10115395.html