![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Beast45 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 12.8.2009 Репутация: нет Всего: нет |
Доброго времени суток!
Есть дата в формате ДД.ММ.ГГГГ. В базе хранится эта дата в поле с типом VARCHAR. Допустим, есть таблица в базе данных (table) с полями id,pole,datа. Сортирую так:
но сортировка проискодит только по дню: 10.12.2009 11.08.2008 17.12.2014 31.05.2009 Подскажите пожалуйста, как провести правильную сортировку. Спасибо! |
|||
|
||||
| lelik133 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 517 Регистрация: 5.2.2003 Где: Москва Репутация: 3 Всего: 14 |
хранить даты в формате предназначенном для дат, а не в varchar
|
|||
|
||||
| Beast45 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 12.8.2009 Репутация: нет Всего: нет |
Был уверен, что первый ответ будит про тип. А именно из archar можно это сделать?
|
|||
|
||||
| skyboy |
|
||||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
сначала по группе символов, которые ты сам назвал днем. Вот если бы были одинаковые "дни"(в кавычках, ибо при типе varchar СУБД сугубо фиолетово, что у тебя каждый символ строки обозначает - он работает со строкой целиком) у двух записей, то была бы сортировка уже по "месяцу". Когда хранишь даты в строках, то нормальная символьная сортировка подойдет только в случае формата ГГГГ.ММ.ДД - в таком случае даже при символьном сравнении/сортировке "2009.10.05" будет в выборке идти раньше, чем "2005.12.27" Потому в твоем случае надо вычленять куски и сортировать по этим кускам:
но такой запрос не использует индексы. и потому тормозить будет жутко. потому вариант со сменой типа поля имеет под собой веские основания. |
||||
|
|||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 3 Всего: 37 |
Анекдот советских времен: Посылают студенты сокурсника-негра за пивом. Он отнекивается, говорит, что русского языка не знает. Они говорят, что напишут ему все на бумажке. Ну ладно. Подходит к киоску, читает: - Пифо ест? - Нету! - отвечает продавцица Читает дальше: "Так и знал!" |
|||
|
||||
| youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: нет Всего: 16 |
Beast45,
Новичок: Подскажите пожалуста самый крепкий сорт дерева! Весь инет перерыл, поиском пользовался! Старожил: Объясни, зачем тебе понадобилось дерево? Сейчас оно в строительстве практически не используется. Новичок: Я небоскрёб собираюсь строить. Хочу узнать, из какого дерева делать перекрытия между этажами! Старожил: Какое дерево? Ты вообще соображаешь, что говоришь? Новичок: Чем мне нравиться этот форум - из двух ответов ниодного конкретного. Одни вопросы неподелу! Старожил: Не нравится - тебя здесь никто не держит. Но если ты не соображаешь, что из дерева небоскрёбы не строят, то лучше бы тебе сначала школу закончить. Новичок: Не знаите - лучше молчите! У меня дедушка в деревянном доме живёт! У НЕГО НИЧЕГО НЕ ЛОМАЕТСЯ!!! Но у него дом из сосны, а я понимаю, что для небоскрёба нужно дерево прочнее! Поэтому и спрашиваю!!! А от вас нормального ответа недождёшся!!! Прохожий: Самое крепкое дерево - дуб. Вот тебе технология вымачивания дуба в солёной воде, она придаёт дубу особую прочность: Новичок: Спасибо, братан! То что нужно!!! http://phpfaq.ru/humor p.s. ты хоть скажи, зачем тебе varchar? |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |