oracle修改字段类型由varchar2修改为clob类型

发现clob类型比较特殊,和其他字段类型不同,不可以从其他字段类型直接转换为clob(blob也一样),可以通过long类型作为中间转换的桥梁,即先将varchar2转换为long,然后再将long转换为clob,即可。

SQL> alter table test modify (loc long );

Table altered

SQL> alter table test modify (loc clob );

Table altered

2、假设要修改字段有数据,则可以使用以下两种方法;

方法一:

alter table batchintfloadlog rename column resultinfo to resultinfo_temp;

alter table batchintfloadlog add resultinfo clob;

update batchintfloadlog set resultinfo=trim(resultinfo_temp);

alter table batchintfloadlog drop column resultinfo_temp;

方法二:


create table batchintfloadlog_temp  as select * from batchintfloadlog where 1=2; 

alter table batchintfloadlog_temp modify (resultinfo long); 

alter table batchintfloadlog_temp modify (resultinfo clob); 

insert into batchintfloadlog_temp select * from batchintfloadlog;

drop table batchintfloadlog; 

rename batchintfloadlog_temp to batchintfloadlog;

推荐阅读更多精彩内容