如果表中有数据,Oracle是不能修改其数据类型的.但可以通过新建一个临时列,将要修改列的数据复制到临时列中,删除原列再修改临时列的名字.这样说好像有点拗口,分步解说一下. 表AC_REG中有列:is_active,原来是字符类型的,目标是将它改为数值类型 ---目标将IS_ACTIVE改为数值型 --新增一列 ); --将IS_ACTIVE的值,赋给is_active_temp )); --删除原来的列 alter table AC_REG drop column is_active; --修