上次提到listagg()和wm_concat()方法合并过的字段类型为clob,要是字段长度超过4000,直接使用to_char()方法转会报错。
解决方法可以在java代码中使用流的方式转化成字符串。
提供一个通用工具类:
public static String clob2String(Clob clob){
if(null == clob){
return "";
}
Reader is = null;
try{
is = clob.getCharacterStream();
BufferedReader br = new BufferedReader(is);
StringBuilder sb = new StringBuilder();
String temp = br.readLine();
while(temp != null){
sb.append(temp);
temp = br.readLine();
}
return sb.toString();
}catch (Exception e) {
return "clobtostring转换失败";
}finally {
try{
if(is != null){
is.close();
}
}catch (Exception e) {
e.printStackTrace();
}
}
}
clob2String
希望对大家有所帮助!