wmsys.wm_concat 长度限制的问题

wmsys.wm_concat 和listagg 在函数实现字段合并的时候会有长度限制的问题,

如:ORA-22813: 操作数值超出系统的限制或者ORA-06512: at "WMSYS.WM_CONCAT_IMPL", line 30

网上查了一下方案,用sys_connect_by_path也没有解决

后来国外有个文档说,可以用XML函数解决


select XMLAGG(XMLELEMENT(E, pid || ',')).EXTRACT('//text()').getclobval()  as pids from T05_LOCKS where sid<3000







得到xmltype不好解析,可以先转成clob类型的,再用程序解析


select XMLAGG(XMLELEMENT(E, pid || ',')).EXTRACT('//text()').getclobval()  as pids from T05_LOCKS where sid<3000

有个问题,最后会多一个逗号,要自己处理一下。



这样就的得到了没有字符大小限制的,可以直接拿来用的,用逗号拼接的字符串


阅读更多
个人分类: sql java 其他
上一篇js和java 小数后补齐0 整数前补齐0
下一篇js 实现循环里延迟加载或者延迟方法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭