Сортировка записей mysql по дате

Рейтинг: 0Ответов: 2Опубликовано: 29.04.2015

Подскажите по такому моменту: есть таблица с полем varchar(12). В поле хранится дата вида 31.04.2015

Как можно сортировать по возрастанию даты в этом поле?

Ответы

▲ 3Принят

Внимание! Решение ниже это КОСТЫЛЬ, написанный по просьба автора вопроса. В общем случае нужно сменить тип поля на Date.

Посмотреть пример

Вам правильно говорят, что вы сами создали себе проблему.
Вот еще одно решение стандартными средствами:

SELECT * FROM `table_test` ORDER BY STR_TO_DATE(`date`, '%d.%m.%Y') ASC;

`date` - ваше поле с датой.  

Вот ссылка на документацию по функции STR_TO_DATE.

▲ 3

Дату надо хранить в формате date. Это единственно возможный вариант.
Если по незнанию дата была введена в каком-то кривом формате, то переделать его в нормальный.

Бояться переделок не нужно.
Во-первых, это не так трудно, как кажется. Во-вторых, переделок будет МНОГО, и надо сразц к этому привыкать.

А вот чего надо бояться - это костылей и говнокода.