1. 程式人生 > >Oracle中將Clob欄位轉換成字串

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物件

相關推薦

Oracle中將Clob轉換字串

1.利用dbms_lob.substr()方法可將對應欄位轉換成字串如下: select dbms_lob.substr(content) from NEWS 該方法有個缺點,當content欄位長度超過某個值時,會報錯。 2.獲取Clob物件,在Java中通過對流處

Oracle處理Clob 轉換請求無法實現或不合理

處理clob(使用java.io.Reader)的時候出現,ORA-01460: 轉換請求無法實現或不合理從oracle 9i R2匯出程式到oracle 10G R2版本,作業系統是從Hp UX到RED HAT LINUX X64版本,剛開始以為是字符集的問題,我以為是量的

Oracle資料庫中clobMD5碼,並能在where條件或者group中使用

轉載自:https://blog.csdn.net/siyouzi/article/details/29589613   1.建立java source ------------Java source------------------------ create or repl

工作總結15 sql的insert語句插入大量字串oracleclob

    當通過insert語句直接插入大量字串(主要是html的內容),超過4000字元時候,就會報:ORA-01489: 字串連線的結果過長.    雖然欄位是clob,足以儲存,但是通過這種直接插

JSON將資料庫中的date轉換時間戳

問題描述:資料庫中的date欄位:2018-09-01 12:23:23,在Java中取出該欄位,並用FastJSON將其轉化,你就會發現時間變成了148364681324這樣的時間戳,FastJSON提供瞭解決方法。 解決方法:在對應的實體類的的屬性上方定義一

spring boot或springmvc返回時把date型別的字串

我們都知道spring boot或者springmvc可以藉助自帶的jackson直接把實體物件裝成json,這次不是分享關於框架如何返回json,而是要給大家分享實體類裡的date型別的欄位在返回時怎麼統一處理成統一返回成string型別 1 使用註解類讓其繼承JsonS

Java更新OracleCLOB的值

Java用JDBC操作Oracle的CLOB欄位也是算最近遇到的一個知識點,也算是基礎,在此記錄一篇。因為CLOB型別的特殊性,並不能通過for update進行操作,那麼就需要java將要修改的值通過流寫入到clob中。那麼更新CLOB之前需要先清空CLOB的值update xxxx.data_interf

oracle將一個拆分多個值(regexp_substr函式)

例: select regexp_substr(p.attributename, '[^,]+',1,level) c1 from tablename p connect by level &l

kettle能抽取oracleclob麼?

學習使用kettle,在學習的過程中遇到一些連線資料庫的問題,經過一番努力之後,終於找到解決方案,現將遇到的問題和解決方案公佈如下,有不對的地方請大家指正。  問題一:用spoon設計了一個轉換,主要功能是從資料檔案中讀取記錄,然後直接存入資料庫(我們使用的是IBM D

關於springmvc怎麼自動把前臺string型別日期轉換date型別

關於springmvc怎麼把前臺string型別日期欄位轉換成date型別欄位,小狼想了好久,閱讀spring原始碼,發現一個很好玩的註解@DateTimeFormat(pattern="yyyy-MM-dd") 對,就是他,小狼是這麼使用的 @Controller pu

oracle匯出Clob的方法

因為專案需要,插入資料只能用SQL INSERT。普通的表還好說,但是遇到了clob ,plSql工具就匯出不成功了。 然後百度了一下,也問了一下大神,都不能實現。最後換了DBVisualizer, 1.選擇表以後,右鍵expert tables,然後勾選sql 然後選擇檔

請教oracleCLOB的最大長度

                CLOB和BLOB都是4G,而LONG ,LONG raw是舊時代的oracle二進位制和長文字表示,將來會被廢棄。最長長度是2G.單位是Byte表中單個 LOB 欄位 在 9i  版本中可儲存 4GB 資料, 在 10g 版本中可儲存多達 128TB 的資料.所以理論上是沒限

SQL 語句 將一個表中用特殊字元分割的轉換多行資料

在開始寫之前需要先說下這兩個函式的用法, SubString(str,pos,len): 從pos位置擷取字串STR,len個字元 CHARINDEX ( expression1 ,expression2, [ start_location ] ) :expression

Oracle中將查詢出的多條記錄的某個拼接一個字串的方法

http://zhidao.baidu.com/link?url=PQfRn7OH1XlZmCeQNT-Uofy00geAzvSpoDZ-B70rF33_TIcCCkRfCBfvOZtbZOq4V9areNdYt4KvF4oS9unZfyFBScPCKBwGKprlVy7j

Oracle SQL將所有的值轉換數字(忽略不匹配的值)

最近由於業務需要,將某個欄位的值(Varchar2型別)轉換成數字。  由於原始資料比較亂,在將該欄位直接轉換成數字時,由於存在非數字字元(英文字母、漢語),直接轉換時,轉換失敗。 因此需要將這些欄位值轉換成0,將其他正常數字進行正常轉換,簡單範例如下: SELECT A1

java將日期時間字串日期插入到oracle的date

將日期時間字元字串轉成日期插入到oracle的date型的欄位裡,  String datestring="2014-02-01 13:23:31";  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH

Oracle 將普通型別改為Clob型別的方法

第一步:新增一個clob型別的欄位 alter table nlphistory_pat add (answer_bak clob); 第二部:將原來欄位的值拷貝到新建的clob欄位 update nl

查詢Oracle中帶有Clob的表的大小

在oracle裡面,由於lob欄位有獨立的lob segment來儲存,所以查詢需要DBA_SEGMENTS S, DBA_INDEXES  2張表結合才可查出結果。 以下是實驗SQL說明: 表名:GJ_NORM_POOL 表歸屬使用者名稱:ORACLE

Oracle中的BLOB和CLOB

一般為了更好的管理ORACLE資料庫,通常像圖片、檔案、音樂等資訊就用BLOB欄位來儲存,先將檔案轉為二進位制再儲存進去。而像文件或者是較長的文字,就用CLOB儲存,這樣對以後的查詢更新儲存等操作都提供很大的方便。 1.BLOB  BLOB全稱為二進位制大型物件(Binary Larg

Oracle+Mybatis批量插入含有Sequence和CLOB

參考 當oracle+mybaits批量insert遇到CLOB型別欄位,通過使用 begin .. end 將語句放入Oracle 的塊裡實現批量提交。常規的,帶有 Sequence 的插入語句需要使用到 Mybatis 的 selectKey 標籤。但是,帶有 Sequence 和