ORACLE修改表字段的数据类型
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'))