我需要将列类型从VARCHAR2更改为DATE。该列已经以正确的格式存储日期。所以我试图做这样的事情
alter INM_INCIDENT rename column INM_I_REACTION_TIME to INM_I_REACTION_TIME_OLD;
alter table INM_INCIDENT add INM_I_REACTION_TIME date;
update INM_INCIDENT set INM_I_REACTION_TIME = to_date(INM_I_REACTION_TIME_OLD);
alter table INM_INCIDENT drop column INM_I_REACTION_TIME_OLD;
但是我在更新语句的行上有错误,所以我的问题是,有没有像这样将varchar复制到日期的好方法?
答案 0 :(得分:4)
更新
update INM_INCIDENT set INM_I_REACTION_TIME = to_date(INM_I_REACTION_TIME_OLD, 'YYYY-MM-DD HH24:MI:SS');
您必须在字符串日期列中将字符串YYYY-MM-DD HH24:MI:SS
调整为日期格式。