2013-08-26 24 views
0

我在MySQL中有一個表,我有一個日期和時間列。本欄格式爲01 February 2013 12:49:40。我也想提取日期部分和時間部分以及月份部分。我正在使用month(01 February 2013 12:49:40)這個函數,但它是拋出錯誤。我不能使用Substring,因爲行的寬度不相等。我該怎麼辦。MySQL日期對話

回答

3

首先將其轉換成真正的約會(你有什麼是文本,MySQL不知道這是一個日期)

SELECT STR_TO_DATE(your_column, '%d %M %Y %H:%i:%s') 

,那麼你可以像使用一年)的功能(,月(),時間(),無論得到你想要的...

SELECT YEAR(STR_TO_DATE(your_column, '%d %M %Y %H:%i:%s')) FROM your_table... 

更妙的是當然,到列更改爲數據類型datetime或時間戳。然後你可以每次都把STR_TO_DATE()函數自己省下來。

通過添加一列datetime或戳你的表

ALTER TABLE your_table ADD COLUMN your_column datetime; 

然後「複製」你柱

UPDATE yourTable SET new_column = STR_TO_DATE(old_column, '%d %M %Y %H:%i:%s'); 

然後你可以將你的當前列這樣做。

ALTER TABLE DROP COLUMN your_current_column; 

或選擇其他方法,幾種可能性...