2012-04-18 4 views
4

Я пытаюсь изменить формат Datetime на MySQLSQL - Преобразование формата Datetime

T получил стол исторического с некоторыми колоннами и некоторые все они имеют этот формат 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() функция

Try ниже:

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

Смежные вопросы