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');
希望这有助于
这是真实的,如果他有一个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