ORACLE修改表字段的数据类型

2014-11-24 16:08:19 · 作者: · 浏览: 0
ORACLE修改表字段的数据类型
项目需求变更,需要用到备用字段,开始以为是这样改表的:
alter table tablename alter column colname newDataType

比如:
alter table mytable alter column mycol1 int default 0

后来实现了一下,不行。再查了一下资料,说是这样的(也不行):
alter table userreg modify column bak2 VARCHAR2(20) default to_char(sysdate,'YYYY-MM-DD HH24:MI:SS')

后来实践了一下,原来 Oracle是要这样改的(而且要保证该列没有数据,否则改不了):
alter table userreg modify (bak2 varchar2(26) default to_char(sysdate,'YYYYMMDDHH24MISS'))

或者是:
alter table userreg modify (bak2 char(21) default to_char(current_date,'YYYY-MM-DD HH24:MI:SS'))