Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Работа с датами Delphi + MySql


Автор: Hattab 23.5.2009, 03:09
Здравствуйте.
Нужен Ваш совет...
Есть делфи и МуСКЛ через Адо. В таблице куда разбираются и складываются логи присутствуют столбцы:
 ..., connect_month, connect_day,  connect_year,   .......,  disconnect_month,  disconnect_day, disconnect_year, 
Дело в том, что дата получается в формате MMM dd yyyy (May 07 2009   -  название месяца текстом). Соответственно тип данных Date поставить нет возможности, а мне нужно организовать выборку данных за определенный промежуток времени (допустим за месяц). Как посоветуете сравнивать все это дело...?
Можно конечно на месяцы сделать отдельную таблицу, со столбцом "название_месяца" и  столбцом типа Integer и забить туда порядковые номера и их потом сравнивать, но помоему это как-то криво выглядит, да и две "одинаковые" таблицы в базе держать не есть правильно...   

Автор: Nofate 23.5.2009, 12:23
А что мешает MMM dd yyyy преобразовать в дату раз формат точно известен? И хранить в базе уже в виде даты.

Автор: Akella 23.5.2009, 12:48
Цитата(Hattab @  23.5.2009,  03:09 Найти цитируемый пост)
Соответственно тип данных Date поставить нет возможности, а мне нужно организовать выборку данных за определенный промежуток времени (допустим за месяц). Как посоветуете сравнивать все это дело...?

Я с мускулом не работал. Ну вариантов может быть несколько.
Можно сделать хранимку, в которой будет выводится дополнительное поле в формате Date. И выполнять выборку из хранимки.

А можно в таблице создать поле типа Date. В триггерах вычислять правильную дату и записывать в это поле.

Возможно можно выполнить преобразование на лету, типа
(Синтаксис firebird`а, просто не знаю, как в мускуле, может мускул умеет переводить формат 'May 07 2009'  в тип Date)
Код
select (cast([I]складываем здесь три поля для получения May 07 2009[/I]  as Date) as NewDate) from table1

Тебе нужно было задать вопрос в разделе про мускул, а не делфи базы данных и репортинг. В твоём вопросе дельфи никаким боком не клеится.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)