wm_concat()函数

Posted wangjp-1233

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于wm_concat()函数的主要内容,如果未能解决你的问题,请参考以下文章

wm_concat函数的排序问题

wm_concat函数

在Oracle12C数据库创建wm_concat函数

oracle的wm_concat()函数

在12C上创建wm_concat函数

自定义函数替换wm_concat函数,在oracle会出现啥不可控因素吗