imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 23.07.2004, 16:31     # 1
_ARMAGEDDON_
Guest
 
Сообщения: n/a

MySQL сортировка дат

В базе есть даты 12.01.2004 , 01.07.2004 , 24.06.2004 , 04.02.2004
их нужно отсортировать по убыванию, как это сделать?

select * from w_date order by wdate desc - сортирует только число до первой точки...
 
Старый 23.07.2004, 16:45     # 2
Sych
Junior Member
 
Регистрация: 01.11.2002
Адрес: Kyiv, Ukraine
Сообщения: 95

Sych Мелкий засранец
Дату в mysql надо хранить как положено а не как придумаешь.

используй unix timestamp или другие форматы и средства для работы с датой предусмотренные самой базой.
Sych вне форума  
Старый 23.07.2004, 16:46     # 3
is_absent
::VIP::
 
Аватар для is_absent
 
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417

is_absent Молодецis_absent Молодецis_absent Молодец
Попробуй
Код:
order by date_format(w_date, '%Y%m%d') desc
__________________
Nunc est bibendum
is_absent вне форума  
Старый 23.07.2004, 16:51     # 4
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
как вариант, перевод в timestamp и обычная сортировка цифр...
__________________
убрано по просьбе администратора
Sheryld вне форума  
Старый 24.07.2004, 04:14     # 5
Sava
Newbie
 
Регистрация: 11.04.2003
Адрес: Мытищи
Сообщения: 26

Sava Мелкий засранец
2 is_absent: такой код тоже не проканает
Согласен с Sych и Sheryld, дату и время надо хранить в правильном формате, а не в текстовом, на выбор что предпочтительнее timestamp, date или datetime в зависимости от того что требуется, единственное время в timestamp, при обновлении записи, автоматически меняется на текущее.
Sava вне форума  
Старый 24.07.2004, 14:41     # 6
is_absent
::VIP::
 
Аватар для is_absent
 
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417

is_absent Молодецis_absent Молодецis_absent Молодец
Sava
RTFM. если уж прочитал про timespamp, то ты не мог не прочитать о том, что варчар приводится к дате. правда к стандартной... но не об этом спор... читаем вопрос:
Цитата:
_ARMAGEDDON_:
В базе есть даты
где тут написано, что там строка?
__________________
Nunc est bibendum
is_absent вне форума  
Старый 24.07.2004, 15:32     # 7
Sava
Newbie
 
Регистрация: 11.04.2003
Адрес: Мытищи
Сообщения: 26

Sava Мелкий засранец
is_absent
Никто не спорит о значении полей(это ессно даты), я говорю про тип поля.

Цитата:
_ARMAGEDDON_ :
В базе есть даты 12.01.2004 , 01.07.2004 , 24.06.2004 , 04.02.2004
Если значение поля по стандартному запросу извлекается в таком виде(без форматирования) , то тип поля никакого отношения к дате/времени не имеет. И естественно даты в таком виде будут сортироваться криво т.к. первым идет день, если уж никак не хочется менять тип поля для хранения дат, то лучше записывать в строку как YYYY.MM.DD тогда сортироваться и строка будет корректно.
А насчет того что varchar можно привести к дате, один вопрос, зачем? Можно же сразу задать нормально тип поля и потом извлекать оттуда значения с нужным форматированием. Может я не совсем понял твою мысль?
Sava вне форума  
Старый 24.07.2004, 16:21     # 8
is_absent
::VIP::
 
Аватар для is_absent
 
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417

is_absent Молодецis_absent Молодецis_absent Молодец
Sava
Если даты возвращаются в таком виде, еще не значит, что они так хранятся в базе данных. Возможно, так настроена локаль. Возможно, человек сам их записывает в таком виде. В последнем случае, даже перевод к типам дат(date, timestamp или datetime) не поможет. Если же тип поля все-таки один из названных -- решение либо date_format() либо просто сортировка по полю.
Может быть мы послушаем самого автора вопроса?
__________________
Nunc est bibendum
is_absent вне форума  
Старый 24.07.2004, 20:07     # 9
Sava
Newbie
 
Регистрация: 11.04.2003
Адрес: Мытищи
Сообщения: 26

Sava Мелкий засранец
Да, действительно хорош спорить на пустом месте пусть автор сам расскажет что и как. А после подробного описания поспорим.
Sava вне форума  
Старый 26.07.2004, 12:34     # 10
_ARMAGEDDON_
Guest
 
Сообщения: n/a

всем спасибо, с помощью date_format вопрос решился
где вообще можно почитать что и как лучше хранить в базе? если такое есть конечно...
 
Старый 26.07.2004, 14:01     # 11
is_absent
::VIP::
 
Аватар для is_absent
 
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417

is_absent Молодецis_absent Молодецis_absent Молодец
_ARMAGEDDON_
www.mysql.ru, www.mysql.com
Еще можно Дейта найти "Основы Баз Данных" лучше седьмое издание
она в принципе, о том, как и с чем едят базы данных...
__________________
Nunc est bibendum
is_absent вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 23:17.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.