2013-02-27 66 views
0

我有一個包含數據類型爲varchar的time_stamp列的表。 它提供的數據形式爲「2013年2月28日上午11:33:45」 我想更改爲datetime的數據類型,因爲我不能在varchar上應用任何日期時間函數。將數據類型從varchar更改爲datetime格式,並恢復以前的數據

我已經在該表中有很多數據,我想更改其數據類型並恢復所有數據。

我該怎麼做。

+0

嘗試使該視圖。問候 – c0dem0nkey 2013-02-27 09:10:37

+0

我試着創建一個視圖,但是然後所有的tiestamp varchar值都變爲null。 – user1896796 2013-02-27 09:37:39

回答

0

你需要將其轉換爲datetime使用STR_TO_DATE

SELECT * 
FROM tablename 
WHERE STR_TO_DATE(time_stamp, '%m/%d/%Y %h:%i:%s %p') = CURDATE() 
+0

因此,使用str_to_date製作視圖將如下所示:create table myView as select *,STR_TO_DATE(time_stamp,'%e /%d /%Y%h:%i:%s%r')作爲來自tablename的new_time_stamp; – mika 2013-02-27 09:23:58

+0

@mika,是的,在這一點上,'new_time_stamp'已經是datetime數據類型。 – 2013-02-27 09:25:46

+0

new_time_stamp獲取值爲空值,我需要轉換所有varchar值並稍後使用它們。 – user1896796 2013-02-27 09:40:42

相關問題