修改oracle数据库中表字段的数据类型,但该字段在表中已存在大量的值,直接修改数据类型会报上述错误,我们可以按照以下顺序执行即可解决改问题:
1、将要修改的字段重命名
alter table tableName rename column columnName to columnName_bak;
2、在表中新增一个字段
alter table tableName add(columnName NUMBER(22,2));
3、为新增字段添加中文解释
COMMENT ON COLUMN tableName.columnName IS '换长';
4、将重命名字段的值赋值给新增加的字段
update tableName set columnName = trim(columnName_bak);
5、删除重命名字段
alter table tableName drop column columnName_bak;