由于在使用中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()