oracle数据库的一列有数据,还能修改这一列的数据类型吗?

解决方案 »

  1.   

    现在是:varchar 的一列
    1
    3
    4
    5
    6
    能换成Integer的吗?
      

  2.   

    如果类型兼容是可以直接修改的。如char->varchar2
    alter table t modify(col1 varchar2(20));
    如果不兼容则需要先增加一列,将原来的数据转到新列,然后删除原来的列
    比如原来col1为number,现要修改为varchar2:
    alter table t add  (col2 varchar2(20));
    update t set col2=to_char(col1);
    alter table t drop column col1;
      

  3.   

    如果你这varchar列都是数字的话,能换,就参照楼上的搞吧。
      

  4.   

    不过话说回来了,你说的varchar 和integer都是oracle淘汰的数据类型。趁机改成varchar2和number吧