o_str := dbms_lob.substr(v_clob,amount,1);
参数中dbms_lob.getlength(v_clob)=3625;amount该填什么值能完整的把clob转换成varchar2,其中该clob中含中文字符。在线等各位大牛解答~
参数中dbms_lob.getlength(v_clob)=3625;amount该填什么值能完整的把clob转换成varchar2,其中该clob中含中文字符。在线等各位大牛解答~
dbms_lob.substr(clobcolumn,4000)这个方法在clob内容超过4k字节,且是中英文都存在的时候,不好截取
ID NAME
---------- --------------------------------------------------------------------------------
1 1还4
SQL> desc a
Name Type Nullable Default Comments
---- ------ -------- ------- --------
ID NUMBER Y
NAME CLOB Y
SQL> select id,dbms_lob.getlength(name) from a;
ID DBMS_LOB.GETLENGTH(NAME)
---------- ------------------------
1 7
SQL> select id,dbms_lob.substr(name,1,1) from a ;
ID DBMS_LOB.SUBSTR(NAME,1,1)
---------- --------------------------------------------------------------------------------
1 1
SQL> select id,dbms_lob.substr(name,2,1) from a ;
ID DBMS_LOB.SUBSTR(NAME,2,1)
---------- --------------------------------------------------------------------------------
1 1还
SQL> select id,dbms_lob.substr(name,3,1) from a ;
ID DBMS_LOB.SUBSTR(NAME,3,1)
---------- --------------------------------------------------------------------------------
1 1还4
SQL> select id,dbms_lob.substr(name,4,1) from a ;
ID DBMS_LOB.SUBSTR(NAME,4,1)
---------- --------------------------------------------------------------------------------
1 1还4
SQL> select id,dbms_lob.substr(name,5,1) from a ;
ID DBMS_LOB.SUBSTR(NAME,5,1)
---------- --------------------------------------------------------------------------------
1 1还4
SQL> select id,dbms_lob.substr(name,6,1) from a ;
ID DBMS_LOB.SUBSTR(NAME,6,1)
---------- --------------------------------------------------------------------------------
1 1还4
SQL> select id,dbms_lob.substr(name,7,1) from a ;
ID DBMS_LOB.SUBSTR(NAME,7,1)
---------- --------------------------------------------------------------------------------
1 1还4
SQL>
SQL> select length('汉'),lengthb('汉') from dual;
LENGTH('汉') LENGTHB('汉')
------------ -------------
1 2
SQL>
那就取2000个字符.