我有一個包含數據類型爲varchar的time_stamp列的表。 它提供的數據形式爲「2013年2月28日上午11:33:45」 我想更改爲datetime的數據類型,因爲我不能在varchar上應用任何日期時間函數。將數據類型從varchar更改爲datetime格式,並恢復以前的數據
我已經在該表中有很多數據,我想更改其數據類型並恢復所有數據。
我該怎麼做。
我有一個包含數據類型爲varchar的time_stamp列的表。 它提供的數據形式爲「2013年2月28日上午11:33:45」 我想更改爲datetime的數據類型,因爲我不能在varchar上應用任何日期時間函數。將數據類型從varchar更改爲datetime格式,並恢復以前的數據
我已經在該表中有很多數據,我想更改其數據類型並恢復所有數據。
我該怎麼做。
你需要將其轉換爲datetime使用STR_TO_DATE
SELECT *
FROM tablename
WHERE STR_TO_DATE(time_stamp, '%m/%d/%Y %h:%i:%s %p') = CURDATE()
因此,使用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
@mika,是的,在這一點上,'new_time_stamp'已經是datetime數據類型。 – 2013-02-27 09:25:46
new_time_stamp獲取值爲空值,我需要轉換所有varchar值並稍後使用它們。 – user1896796 2013-02-27 09:40:42
嘗試使該視圖。問候 – c0dem0nkey 2013-02-27 09:10:37
我試着創建一個視圖,但是然後所有的tiestamp varchar值都變爲null。 – user1896796 2013-02-27 09:37:39