1.如何把多列的查询结果归到一行
wm_concat函数(该函数只能在oracle 11C及以下版本使用),用于列转行,逗号分隔,并显示成一行。示例:
select wm_concat(d.deptno) from dept d;
2. 如何将CLOB转换成字符
- 如果大字段只有4000以内的字符
dbms_lob.substr(clobcolumn,4000);
- 如果大字段超过了4000个字符—获取Clob对象,在Java中通过对流处理获取字段内容,该方式没有长度限制
/** * oracle.sql.Clob类型转换成String类型 * @param clob * @return */ public String clobToString(Clob clob) throws Exception { if(null == clob || clob.length() == 0){ return null; } Reader is = clob.getCharacterStream(); // 得到流 BufferedReader br = new BufferedReader(is); String str = br.readLine(); StringBuffer buffer = new StringBuffer(); while (str != null) { buffer.append(str); str = br.readLine(); } String reString = buffer.toString(); return reString; }