oracle常见wm_concat函数的oracle.sql.CLOB@xxxx问题
默认情况下wm_concat行列转化函数会返回clob格式的数据,是不能直接显示的,解决方式:
一、
用listagg()函数替换,listagg()返回的格式是字符串
用法和wm_concat对比如下:
wm_conca(字段名)as 别名,
listagg(字段名, ',') within group(order by rownum) as 别名,
**注意:listagg()不支持distinct,返回的是varchar2类型,最大拼接长度为4000**
二、
修改代码,读取clob用流的方法读取文本内容
方法如下:
Clob clob=(CLOB)a.get("NAME");
Reader is=clob.getCharacterStream();
char [] c= new char[(int)clob.length()];
is.read(c);
data=new String(c);
is.close;
探讨Oracle中wm_concat函数返回CLOB格式的问题及解决方案,包括使用listagg函数替代和通过流方法读取CLOB内容。listagg不支持distinct,返回varchar2类型,最大长度4000。
862

被折叠的 条评论
为什么被折叠?



