社区
基础和管理
帖子详情
wm_concat 操作数值超出系统的限制
sn_tiantian
2011-05-18 09:42:47
在网上查了一下,说是wm_concat最大长度为30K,有没有好的解决方案呢?
...全文
3999
5
打赏
收藏
wm_concat 操作数值超出系统的限制
在网上查了一下,说是wm_concat最大长度为30K,有没有好的解决方案呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lgcmmail
2011-09-23
打赏
举报
回复
我也遇到同样问题,想了个办法,横向差分超长的字符串,需要拆多长根据字符串最大长度决定。
先估算wm_concat(item)中多少个item会超长,以100为例,套一层子查询,里边用分析函数row_number,在外边用
wm_concat(case when ro <= 100 then item end) item1,
wm_concat(case when ro > 100 and ro<200 then item end) item2,
。。。
应该可以满足一些需求了。
sn_tiantian
2011-05-18
打赏
举报
回复
[Quote=引用 1 楼 tangren 的回复:]
1、WM_CONCAT本身限制,并且如果字符串太长太多,拼接会很慢,没有效率。
2、如果要拼接更长的,可以自定义一个聚合函数试试。
[/Quote]
我也自定义了一个拼接函数,使用clob作为存储对象。可是后面又引发一系列的问题。因为我后面还要对个拼接后的字符串做一些操作。如max,substr等等。而clob根本不支持这些操作。也想到把clob转为varchar2类型,可是varchar2最大长度是4000。
真是烦啊。
tangren
2011-05-18
打赏
举报
回复
1、WM_CONCAT本身限制,并且如果字符串太长太多,拼接会很慢,没有效率。
2、如果要拼接更长的,可以自定义一个聚合函数试试。
huangdh12
2011-05-18
打赏
举报
回复
超过4000 那要以clob方式展现。也比较麻烦了。
cnham
2011-05-18
打赏
举报
回复
最好不要直接用wm_concat
这个函数有的时候不能用
可以自定义
具体可以参照:http://blog.csdn.net/cnham/archive/2011/02/25/6206759.aspx
wm
sys.
wm
_
concat
长度
限制
的问题
如:ORA-22813:
操作
数值
超出
系统
的
限制
或者ORA-06512: at "
WM
SYS.
WM
_
CONCAT
_IMPL", line 30。
wm
sys.
wm
_
concat
和listagg 在函数实现字段合并的时候会有长度
限制
的问题,这样就的得到了没有字符大小
限制
的,可以直接拿来用的,用逗号拼接的字符串。网上查了一下方案,用sys_connect_by_path也没有解决。得到xmltype不好解析,可以先转成clob类型的,再用程序解析。有个问题,最后会多一个逗号,要自己处理一下。
wm
sys.
wm
_
concat
结果长度
限制
的问题
oracle数据库解决
wm
sys.
wm
_
concat
结果长度
限制
的问题。 原文链接:http://blog.csdn.net/xmm_1030/article/details/46724153 使用
wm
sys.
wm
_
concat
多列合成一列遇到问题 ORA-22813:
操作
数值
超出
系统
的
限制
官方文档解释是总长度超过30k 有办法修改这个长度
限制
么? 已经写了存储过程作为替代
关于oracle中的
wm
sys.
wm
_
concat
中的使用问题
这两天在项目中遇到了一个问题,就是
系统
中使用了
wm
sys.
wm
_
concat
引发的相关问题,PM也提议不要使用,原因有下: 1.该函数不是oracle公开的
系统
函数,它的用户是
wm
sys,而不是sys或者system,oracle很有可能在版本升级或者补丁的时候取消或者修改这个函数甚至用户,这种变化oracle是不会公开的。所有可能会由于这个变化而导致异常。 2.大量使用这个函数也会导致临时表
当oracle使用
wm
_
concat
()长度超过
系统
限制
解决办法
select XMLAGG(XMLELEMENT(E, code || ',')).EXTRACT('//text()').getclobval() as codes from table
WM
_
CONCAT
字符超过4000的处理办法
参考网址: http://stackoverflow.com/questions/11541383/ordering-by-list-of-strings-in-oracle-sql-without-listagg 字符串拼接技巧和方式:http://www.oracle-base.com/articles/misc/string-aggregation-techniques.php
基础和管理
17,378
社区成员
95,113
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章