listagg 函数------(有长度限制)
SELECT listagg(字段, ',') within group(ORDER BY 字段) AS NAMES FROM 表 GROUP BY 字段
//去重:regexp_replace(listagg 函数, '([^,]+)(,\1)+', '\1')
用聚合函数,然后使用 wmsys.wm_concat(拼接字段) 方法------(有长度限制,可去重)
select wmsys.wm_concat(distinct 字段) as 字段别名 from table t group by 字段
无长度限制的方法
select XMLAGG(XMLELEMENT(E, 待拼接字段 || ',') ORDER BY 排序字段).EXTRACT('//text()').getclobval() as 别名 from 表名 GROUP BY 分组字段
或
SELECT rtrim(xmlagg(xmlparse(content 待拼接字段 || ',' wellformed) ORDER BY 排序字段).getclobval(),',') 别名 from 表名 GROUP BY 分组字段 //该方法更快