遇到过很多次啦,简单做个笔记

字段值为空时:
alter table tb modify (create_date VARCHAR2(200));

字段不为空时:
timestamp → varchar
修改原字段名 create_date 为 make_date
alter table tb rename column create_date to make_date;
增加一个和原字段名同名的字段create_date
alter table tb add create_date VARCHAR2(200);
将原字段make_date数据更新到增加的字段create_date
update tb set create_date=trim(make_date);
更新完,删除原字段make_date
alter table tb drop column create_date;

timestamp → varchar
alter table tb rename column make_date to create_date ;

alter table tb add make_date TIMESTAMP(6);
comment on column table.make_date is’创建时间’;

update tb set create_date= TO_TIMESTAMP_TZ(create_Date, ‘YYYY-MM-DD HH24:MI:SS.FF TZH:TZM’)

alter table tb drop column create_date;

备注:
        两个时间的类型需一致!!!
              TO_TIMESTAMP_TZ(‘2009-3-9 17:51:23.23 -05:00’, ‘YYYY-MM-D HH24:MI:SS.FF TZH:TZM’)
              TO_DATE(yourdate,‘YYYY-MM-D HH24:MI:SS’);
              T0_CHAR(yourdate,‘YYYY-MM-D HH24:MI:SS’);