关闭

wmsys.wm_concat 长度限制的问题

1262人阅读 评论(0) 收藏 举报
分类:

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

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



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


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7663次
    • 积分:199
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:7篇
    • 译文:0篇
    • 评论:0条
    文章分类