oracle listagg限制4000 varchar 使用xmlagg解决

由于在使用中listagg中的字段值拼接起来后长度超过4000,报以下错误:

经查询发现是listagg结果长度限制为Varchar 4000,帮改为以下方式解决:

使用xmlagg:

select rtrim(xmlagg(XMLELEMENT(e,N,',').EXTRACT('//text()')).GetClobVal(),',')  from test_name ;

标准如下:

xmlagg(xmlparse(content 合并字段||’,’ wellformed) order by 排序字段).getclobval()

你可能感兴趣的:(oracle,listagg)