Oracle Blob 轉換為Clob
SQL> create table test (id number,name blob);
Table created
SQL> create table test2 (id number,name clob);
Table created
SQL> insert into test values (111,rawtohex('hello'));
1 row inserted
SQL> commit;
Commit complete
//查詢blob資料
SQL> declare
2 bb blob;
3 amt number;
4 pos number;
5 cot number;
6 buf raw(40);
7 begin
8 select name into bb from test where id=111;
9 dbms_lob.open(bb, dbms_lob.lob_readonly);
10 amt := 40; pos := 1; buf := '';
11 cot :=1 + dbms_lob.getlength(bb);
12 while pos
13 dbms_lob.read(bb,amt,pos,buf);
14 dbms_output.put_line(utl_raw.cast_to_varchar2(buf));
15 pos :=pos+amt;
16 end loop;
17 dbms_lob.close(bb);
18 end;
19 /
hello
PL/SQL procedure successfully completed
//blob轉換為clob
SQL> DECLARE
2 l_sour_blob BLOB;
3 l_dest_clob CLOB;
4 l_lang NUMBER := DBMS_LOB.default_lang_ctx; //一定繫結為變數,不然報PLS-00363錯誤
5 l_warning NUMBER;
6 l_t_offset NUMBER := 1;
7 l_src_offset NUMBER := 1;
8 BEGIN
9 SELECT name
10 INTO l_sour_blob
11 FROM test
12 where id=111;
14 DBMS_LOB.CREATETEMPORARY(l_dest_clob,TRUE,2); //初始化clob,不加報錯:ORA-06502: PL/SQL: numeric or value error
15 -- convert to CLOB for display
16 DBMS_LOB.converttoclob (l_dest_clob,
17 l_sour_blob,
18 DBMS_LOB.lobmaxsize,
19 l_t_offset,
20 l_src_offset,
21 DBMS_LOB.default_csid,
22 l_lang,
23 l_warning
24 );
25 insert into test2 values(111,l_dest_clob);
26 commit;
27 END;
28 /
PL/SQL procedure successfully completed
//查詢clob資料
SQL> select * from test2;
ID NAME
---------- --------------------------------------------------------------------------------
111 hello
SQL>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23135684/viewspace-664934/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CLOB與BLOB的轉換
- Oracle Long型別轉換為Clob型別Oracle型別
- Oracle 中LONG RAW BLOB CLOB型別介紹Oracle型別
- JDBC複習,oracle的blob,clob的讀寫-zhaiJDBCOracleAI
- 初探JavaScript PDF blob轉換為Word docx方法JavaScript
- ORA-22835: 緩衝區對於 CLOB 到 CHAR 轉換或 BLOB 到 RAW 轉換而言太小
- BLOB及CLOB欄位處理
- 如何檢視ORACLE的LOB(BLOB和CLOB)物件佔用的大小Oracle物件
- 用JDBC操縱BLOB和CLOB資料JDBC
- clob和字串之間的轉換字串
- oracle blob_clob列的表如何指定sement_name及index nameOracleIndex
- JDBC 處理CLob和Blob型別資料JDBC型別
- VARCHAR2轉換為CLOB碰到ORA-22858錯誤
- Oracle blob型別資料轉換成 base64編碼Oracle型別
- Base64與BLOB 轉換函式函式
- Mysql BLOB、BLOB與TEXT區別及效能影響、將BLOB型別轉換成VARCHAR型別MySql型別
- 使用SQL*Loader匯入CLOB和BLOB資料使用案例SQL
- 前端圖片canvas,file,blob,DataURL等格式轉換前端Canvas
- Oracle 普通table 轉換為partition tableOracle
- oracle 外部表 漢字轉換為拼音Oracle
- 表存在Clob、Blob欄位,dblink報錯的解決辦法
- oracle blob過濾Oracle
- Oracle Insert BLOBOracle
- Blob實現與File DataURL canvas相互轉換示例詳解Canvas
- BLOB和CLOB的區別以及在ORALCE中的插入和查詢操作
- Oracle 12c no-CDB轉換為CDBOracle
- Oracle 將普通錶轉換為分割槽表Oracle
- 關於SQL Server通過OLEDB訪問ORACLE資料表涉及CLOB或BLOB欄位的錯誤提示SQLServerOracle
- oracle如何變更varchar2型別的列為clobOracle型別
- java json字串轉換為物件,轉換為listJavaJSON字串物件
- Oracle中Blob欄位的寫入處理(一) (轉)Oracle
- 怎樣把Oracle查詢轉換為SQL ServerOracleSQLServer
- javascript 字元轉換為ascii碼,ascii碼轉換為字元JavaScript字元ASCII
- Activity轉換為View和把圖片轉換為ViewView
- oracle行列轉換-多行轉換成字串Oracle字串
- Oracle轉換PostgresOracle
- Oracle Clob的一致讀Oracle
- java jdbc存取oracle clob型別JavaJDBCOracle型別