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;