1、 clob 字段 varchar 字段 主要用到dbms_lob.substr方法,该方法有三个参数,分别是截取的 clob 字段 、截取长度以及起始 置,其中 字段 名为必须的,截取长度以及其实 置可以根据需要使用。首先创建测试表,表中包含三个字典,标识码、 clob 测试 字段 varchar 测试 字段 。在表中插入一条测试数据,其中 clob varchar 字段 默认都为空。dbms_lob.substr( 字段 名,长度,起始 置)设置 clob 字段 的值为f_str 字段 的值。设置f_str的值为 clob 字段 的值。 a 截取字符串的开始 置(注:当a等于0或1时,都是从第一 开始截取) b 要截取的字符串的长度string 需要截取的字符串 a 可以理解为从第a个字符开始截取后面所有的字符串。DBMS_LOB.SUBSTR(field,10,1)表示从第1个字节开始取出10个字节 DBMS_LOB.SUBSTR(field,32767)表示从第1个字节开始取出 VARCHAR 2长度最大值个字节DBMS_LOB.GETLENGTH(field) 判定某个 字段 的长度... --新增一个 字段 ,类型为 VARCHAR 2 长度4000 alter table TABLENAME add FILEDNAME_tmp VARCHAR 2(4000); --将要改的 字段 类型 Clob 的列数据更新到新增的列 update TABLENAME set FILEDNAME_tmp=FILEDNAME; --删除原 Clob 列 alter table... 3.可以使用dbms_lob.substr( clob column,4000),对 CLOB 字段 进行截取;截取的长度是4000还是2000根据 存储 的是汉字和数据决定长度; 如果是汉字的话,得将长度设置成为200...... time: 2008/02/29author: skate oracle clob 转换 varchar 2今天在做一个表的数据转移的时候,发现要他通过比较 clob 字段 ,但大家都知道 clob 字段 是无法比较的,所以我就用下面的函数来 转换 to_char(substr(mw.context_,1,1000)) --end--  1、新增一列 varchar 2类型, varchar 2类型最大4000:alter table test add(c varchar 2(4000)); 2、将 clob 列数据更新到新增列:update test set c= clob _col; 3、删除 clob 列:alter table test drop column clob _col; 4、将新增列名更改回原来列名:alter t... 多年前写的复制目标数据库指定表的数据到本地表。 程序丢了可惜,分享下。 执行 存储 过程,通过指定目标数据库登录信息,动态生成dblink,打开游标,按批次插入本地指定表中,每批次1万条数据。同步记录和日志信息写在自动生成的sync_log表中。同步完成后自动删除动态生成的 存储 过程、dblink。 本程序不同步blob和 clob 字段 ,玩 oracle 的人都懂,用sql同步此类数据,速度上不去,此类数据应该要用导出导入的方式提升速度。 具体请参阅程序,可根据自已需要进行修改。 参数说明: CREATE OR REPLACE PROCEDURE syncTable( ip IN VARCHAR 2,--目标数据库ip地址 port IN NUMBER,--目标数据库端口号 sid varchar 2,--目标数据库SID ora_user VARCHAR 2,--目标数据库登录用户名 passwd VARCHAR 2,--目标数据库登录密码 src_table_name IN VARCHAR 2,--目标数据需要同步的表(数据源) dest_table_name IN VARCHAR 2,--把目标表同步到本地库的表名,无则创建与目标表一致的表名 errMsg OUT VARCHAR 2)--输出执行信息。 程序同步到执行结束时的目标表所有数据,不按任何 字段 排序,只判断并记录row_number()到日志表,中断后重新执行可继续同步,如果目标表频繁读写,不保证数据完全正常,故最好是目标表不变动情况下执行同步。 有问题请私信或留言。 判定长度DBMS_LOB.GETLENGTH(col1) 获取文本DBMS_LOB.SUBSTR(col1,n,pos) 如DBMS_LOB.SUBSTR(col1,10,1)表示从第1个字节开始取出10个字节,最大截取4000 alter table KQSERVER add temp VARCHAR 2(2000); --将原来 字段 数据赋值到新 字段 update KQSERVER set temp=SERVER_IMG; --删除原来 字段 alter table KQSERVER drop column SERVER_IMG; --重命名新 字段 为原 字段 alter table KQSERVER rena...