2012-03-08 83 views
0

我需要將列類型從VARCHAR2更改爲DATE。該列已經以正確的格式存儲日期。所以,我試圖做這樣的事情在Oracle中將varchar列轉換爲日期列

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

你的字符串日期格式是什麼? – 2012-03-08 12:59:53

+0

看起來像這個'2007-07-10 15:01:03' – 2012-03-08 13:04:41

+0

看到我更新的答案。 – 2012-03-08 13:16:15

回答

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調整到您的日期格式字符串中的日期列。