假设有表test,已经输入了一部分数据,但是现在发现需要将test表中的某一字段的精度加大,如何能够保留原来的那部分数据?有无直接或间接的方法?

解决方案 »

  1.   

    先备份数据再做修改:
    alter table table_name
    modify column_name column_type;如果数据出错,请先
    alter table table_name 
    add column_name column_type;update table_name
    set old_column=new_column;alter table table_name
    drop column column_name这样就可以了,如果一定要原字段名的话,我想你知道怎么变通吧。
      

  2.   

    ALTER TABLE 表名 MODIFY("字段" VARCHAR2(12));
    我记得直接修改变小不行。变大它的精度不会影响原来的值。
      

  3.   

    是减小精度
    假如一个字段是NUMBER类型,大小定为10,小数位数为0,现改成大小定为10,小数位数定为2