опять разности MySQL4 и MySQL5 (DATE_FORMAT)

Romantik

TeaM PHPClub
опять разности MySQL4 и MySQL5 (DATE_FORMAT)

[sql]
SELECT DATE_FORMAT(`news_date`, "%d-%m-%Y") AS `news_date` FROM `news` ORDER BY `news_date` DESC;
[/sql]

MySQL 4.1.18
news_date
-------------
13-08-2006
04-07-2006
07-05-2004

MySQL 5.0.20
news_date
-------------
13-08-2006
07-05-2004
04-07-2006

если использовать такой запрос:
[sql]
SELECT DATE_FORMAT(`news_date`, "%d-%m-%Y") AS `n_date` FROM `news` ORDER BY `news_date` DESC;
[/sql]

то корректно идет вывод, т.е. ORDER BY news_date сортирует по дате, а ORDER BY n_date сортирует как строки.

Это опять получается что в MySQL5 идет "подгонка" под стандарты и логически не правильные запросы, которые MySQL3 и 4 "прощала" юзерам теперь "без предупреждения" посылает в сад.

Сложности возникли, потому как написан API который сопоставляет поля формопостроителя, валидатора, таблицы в базе и шаблонизатора, т.е. если в базе news_date то и везде используется news_date.

Какие есть пути решения, кроме переделки API ?
 

Фанат

oncle terrible
Команда форума
странно, у меня в трёшке "не прощала" такую фигню.
 

Фанат

oncle terrible
Команда форума
в каком смысле поля нет?

-~{}~ 14.08.06 11:15:

я, понятно.
важно имя поля
 

Romantik

TeaM PHPClub
прикольно но проблему решил так:
[sql]
SELECT DATE_FORMAT( `news_date` , "%d-%m-%Y" ) AS `n_date`
FROM `news`
ORDER BY news.news_date DESC ;
[/sql]
=)
 
Сверху