2012-04-18 216 views
4

我試圖改變我的格式,日期時間上的MySQLSQL - 轉換日期時間格式

牛逼了歷史性的一些列的表有的所有的人都有這種格式DATETIME:

JJ/MM/AAAA HH:MM 

我需要改變,以:

AAAA-MM-JJ HH:MM:SS 

我沒有變量SS我想借00

01/12/2012 12:23 > 2012-12-01 12:23:00 

感謝

回答

3

使用date_format()功能

嘗試以下:

SELECT date_format(columnname,'%Y-%m-%d %h:%i:%s') as yourdate FROM tablename 
2

無張貼的答案會工作,爲您的數據將不會被識別爲一個日期。 使用字符串轉換代替:

UPDATE tablename SET columnname = CONCAT(SUBSTR(columnname,7,4),'-',SUBSTR(columnname,4,2),'-',SUBSTR(columnname,1,2),SUBSTR(columname,11),':00'); 

希望這有助於

+1

這是真實的,如果他有一個varchar(或文本)列類型。但是,如果該列是DATETIME類型(如問題中指定的那樣)將被識別。在這種情況下,最好參見http://stackoverflow.com/questions/10636152/mysql-how-to-parse-a-string-value-to-datetime-format-inside-an-insert-statemen和['STR_TO_DATE() '](http://dev.mysql.com/doc/en/date-and-time-functions.html#function_str-to-date)功能 – PhoneixS 2015-08-10 16:31:14