函数wmsys.wm"/>
oracle聚合函数wmsys.wm
今天在项目中执行sql时遇到一个问题,执行
select wmsys.wm_concat(p_codes) codes from t_rel where id='123'
这样一个语句时报这样的错误:
numeric or value error: character string buffer too small(数字或值错误:字符缓冲区太小)
经查明,wm_concat函数拼接的字符串不能超过4000字节,否则会报错。
解决方案:
更改sql如下:
select XMLAGG(XMLELEMENT(E, p_codes || ',')).EXTRACT('//text()').getclobval() codes from t_rel where vote_id='123'
注意,该sql拼接字符串末尾会多一个,符号,可用substr函数或在后台截掉。
更多推荐
oracle聚合函数wmsys.wm
发布评论