Программерское)

Feb 08, 2009 10:47

Друзья программеры. Помогите.
Есть mySQL бд.
Есть текстовое (!) поле с датой формата дд.мм.гггг
Надо выполнить вывод с сортировкой по датам, но менять формат поля нельзя - он должен остаться TEXT.
Как?!)))

Leave a comment

Comments 7

er_bambino February 8 2009, 08:34:16 UTC
например еслиб дата была в формате ггггммдд можно было бы тупо по порядку. а так вроде никак.

Reply

er_bambino February 8 2009, 08:39:40 UTC
но с другой стороны не поменять же текст просто так.
шо за идиоты дату в текст вводят...

Reply

provodnic February 8 2009, 22:28:56 UTC
поменять не могу, точнее могу, но тогда мне придется на месяц закрыться в комнате с пятью ящиками пива и сидеть искать все скрипты где, мля, это поле используется)))
Так что лучше придумать что то с выводом моим))

Reply


andrewus February 8 2009, 08:53:39 UTC
А с ORDER BY right (Text, 4), ORDER BY substr (text, 3, 2) etc.?

А нельзя хотя бы поменять данные в этом тексте? На гггг.мм.дд?

Reply

provodnic February 8 2009, 15:02:06 UTC
Да если бы было можно(
Спасибо за идею, ща попробую реализовать,
А функцию преобразования текста в цифорку не надо использовать?

Reply

andrewus February 8 2009, 16:51:00 UTC
Так по алфавиту же отлично сортируется.

Reply

provodnic February 10 2009, 18:14:17 UTC
дружище, я вообщем понял почему там "текст" и окончательно забил с сортировкой по датам, пока там все не исправят.
Вообщем где то дата выглядит так: 19.12.2004
где то-вот так 10/1/2007
но ключ успеха в сортировке это приблизительно март 2008
вообщем можно диссертацию защитить "Методы сортировки разнородной информации с элементами ИИ")))

Вопрос немного в другом теперь, подзабыл я SQL
Есть одна таблица (скажем SLAVE) там, предположим есть code, name
Надо выделить все code, которые по списку встречаются более 5 раз.
Это просто, но как сделать вложенный запрос -
есть вторая таблица (скажем MASTER) там есть поле scode, и надо выделить все записи, где scode=code из таблицы SLAVE
)))
Что то у меня вложенные запросы как то плохо пишутся)
Версия SQL 4.1.18

Спасибо огромное!)))) буду должен)

Reply


Leave a comment

Up