|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Работа с датами Delphi + MySql
Здравствуйте.
Нужен Ваш совет... Есть делфи и МуСКЛ через Адо. В таблице куда разбираются и складываются логи присутствуют столбцы: ..., connect_month, connect_day, connect_year, ......., disconnect_month, disconnect_day, disconnect_year, Дело в том, что дата получается в формате MMM dd yyyy (May 07 2009 - название месяца текстом). Соответственно тип данных Date поставить нет возможности, а мне нужно организовать выборку данных за определенный промежуток времени (допустим за месяц). Как посоветуете сравнивать все это дело...? Можно конечно на месяцы сделать отдельную таблицу, со столбцом "название_месяца" и столбцом типа Integer и забить туда порядковые номера и их потом сравнивать, но помоему это как-то криво выглядит, да и две "одинаковые" таблицы в базе держать не есть правильно... |
#2
|
||||
|
||||
А зачем вы изначально забивали в таблицы таким образом дату? Проще в базу пихать тип Date, а уж потом, для более красивого представления (или еще там хз для чего) представлять дату в том виде как вам надо... ИМХО поля connect_month, connect_day, connect_year надо объединить в один conneсt_date тип Date, а disconnect_month, disconnect_day, disconnect_year- в disconnect_date и все станет на свои места.
|
#3
|
|||
|
|||
у меня логи прям из файла раскладываются в базу, а дата там именно так прописано...
что-то сразу я не продумал... |
#4
|
||||
|
||||
Преобразуй дату из логов в нормальную дату, пиши ее в базу и все:
Код:
var FormSett:TFormatSettings; Str:string; myDate:TDateTime; begin //str:= строка из твоего лога с датой with FormSett do begin DateSeparator:='.'; // разделитель, если надо поставь пробел ShortDateFormat:='mm.dd.yyyy'; LongDateFormat:='mmm.dd.yyyy'; end; myDate:=StrToDate(str,FormSett); end; |