Oracle 常用函数

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;
    }
原文地址:https://www.cnblogs.com/gangbalei/p/10488623.html