Oracle中將Clob字段轉換成字符串


1. 利用dbms_lob.substr()方法可將對應字段轉換成字符串如下

select dbms_lob.substr(content) from NEWS  

該方法有個缺點,當content字段長度超過某個值時,會報錯。

2.獲取Clob對象,在Java中通過對流處理獲取字段內容,該方式沒有長度限制

select content from NEWS
// 將字CLOB轉成STRING類型 
    public String ClobToString(Clob clob) throws SQLException, IOException { 
        
        String reString = ""; 
        java.io.Reader is = clob.getCharacterStream();// 得到流 
        BufferedReader br = new BufferedReader(is); 
        String s = br.readLine(); 
        StringBuffer sb = new StringBuffer(); 
        while (s != null) {// 執行循環將字符串全部取出付值給StringBuffer由StringBuffer轉成STRING 
            sb.append(s); 
            s = br.readLine(); 
        } 
        reString = sb.toString(); 
        return reString; 
    } 

接下來的重點是將從數據庫獲取到的該字段的對象轉換成Clob對象,如下:

String content = ClobToString((Clob)obj[1]);

其中我的obj是從數據庫獲取的字段數組,obj[1]對應該Clob對象。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM