MySQL – конвертирование varchar в date – тип данных
В продолжении темы: Mysql order by дата в русском формате
В прошлой теме писал что для дат использовался varchar и что это очень не удобно, решил переделать по правильному.
Нашел такой код:
UPDATE `table`
SET `new_date` = CONCAT(
SUBSTRING_INDEX( `date_old` , '.', -1 ) , '-',
SUBSTRING_INDEX( SUBSTRING_INDEX( `date_old` , '.', 2 ) , '.' , -1 ) , '-',
SUBSTRING_INDEX( `date_old` , '.', 1 ) ) ;
Чтобы потом, выводить в удобочитаемы формат использую функцию DATE_FORMAT:
DATE_FORMAT(new_date, '%d.%m.%Y') AS new_date