修改Oracle中的某一带有数据的列的数据类型

因为昨天去别的公司维护数据,到了之后导完数据才发现,表中的要素内容这一列是空的,刚开始我以为是数据有问题,后来才发现表中的数据的类型是CLOB类型的,而如果直接拿EXCLE中的数据是类型不匹配的,这时候就问了领导,领导说把CLOB类型改成varchar2类型的,不多说了上步骤:

因为该列中已经存有数据,所以需要如下:

*修改原字段名*/
ALTER TABLE 表名 RENAME COLUMN 字段名 TO 字段名1;
/*添加一个和原字段同名的字段*/
ALTER TABLE 表名 ADD 字段名  VARCHAR2(30);
/*
将原来的数据更新到新字段中
这是要注意,一定要显示进行数据类型转换(不同于MSSQL)
*/
UPDATE 表名 SET 字段名 = CAST(字段名1 AS VARCHAR2(30));
/*删除原来的备份字段*/
ALTER TABLE 表名 DROP COLUMN 字段名1;