句型: alter table 表名 modify (字段名 类型);
1、假设字段数据为空,则不管改为什么字段类型,可以直接执行!
2、假设字段有数据,执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时要用下面方法来解决这个问题:
//修改原字段名
第一步 alter table 表名 rename column 原字段名name to 新字段名name_bk;
//增加一个和原字段名一样的新列,类型是要修改的类型
第二步 alter table 表名 add 字段名name 类型;
//拷贝数据到新字段中
第三步 update 表名 set name = trim(name_bk);
//更新完,删除原字段name_bk
第四步 alter table 表名 drop column name_bk;