SQL - 转换日期时间格式

问题描述:

我试图改变我的格式,日期时间上的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 

感谢

使用date_format()功能

尝试以下:

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

您需要使用格式化函数,该函数

对于以上可以使用

SELECT DATE_FORMAT([YOURCOLUMNNAME],'%Y-%m-%d %h:%i:%s') from [YOURTABLENAME]; 

对于您可以参考的所有转换。

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

无张贴的答案会工作,为您的数据将不会被识别为一个日期。 使用字符串转换代替:

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