由于需求变动,,现要将一个类型number(8,2)的字段类型改为char
大体思路如下:
将要更改类型的字段名改名以备份,然后添加一个与要更改类型的字段名同名的字段(原字段已经改名),然后更新数据,最后删除改名备份的字段。
以下操作在 oracle 10.2.0.1.0 中通过。
/*修改原字段名*/
alter table 表名 rename column 字段名 to 字段名1;
/*添加一个和原字段同名的字段*/
alter table 表名 add 字段名 varchar2(30);
/*
将原来的数据更新到新字段中
这是要注意,一定要显示进行数据类型转换(不同于mssql)
*/
update 表名 set 字段名 = cast(字段名1 as varchar2(30));
/*删除原来的备份字段*/
alter table 表名 drop column 字段名1;
