Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Дата в IB [IB6.x]


Страницы:   1 2

msguns ©   (2005-02-18 11:43:00) 

Вот такая проблема: в IB (1) есть формат данных Data, где хранится не только число (дд.мм.гггг), но и время (чч.мм.сс)
Выборки по датам решаются простым диапазоном типа
1.01.2005 00:00:00 - 31.03.2005 23:59:59

Но !!! Есть задачки, где надо выбирать по дням. Например, при сводке статистики прокси надо получить сводные данные о том, сколько каждый клиент юзал инет в днях.
Напрямую запросом вытащить эту инфу из конвертенного сквид-лога нельзя (по крайней мере у меня это не вышло). В рез-те написать ХП, которая выбирает из лога записи за период, прикручивая к вых.НД YEAR, MONTH и DAY, а потом уж со всей этой фигней идут подсчеты. Однако все считается так долго, что нету никакой мочи терпеть (записей в конвертенном логе сотни тысяч).
В результате не придумал ничего лучше, как прикрутить к ибэшной таблице лога доп. чар-поле, куда при конверте вкачиваю дату по шаблону DDMMYYYY. После этого все должно бегать быстрее.
А как использовать дату в натуральном виде ?


msguns   (2005-02-18 12:26:00) [21]

>ЮЮ ©   (18.02.05 12:12) [3]

Overflow occured during data type convertion.
conversion error from string "21-JAN-2005 11:46:04.0000".

Даты, ессно, корректны


Johnmen   (2005-02-18 12:24:00) [22]

>Domkrat ©   (18.02.05 12:21) [4]

См. вопрос - 1 диалект !!!


Johnmen   (2005-02-18 12:23:00) [23]

>ЮЮ ©   (18.02.05 12:12) [3]

Дата не кастуется к численным типам !!!

>msguns ©   (18.02.05 12:06) [2]

SELECT
IpAddress, COUNT (DISTINCT CAST(ConnectionTime-(CAST('01.01.1900' AS DATE)) AS int))
GROUP BY
IpAddress


Domkrat   (2005-02-18 12:21:00) [24]

as Date


ЮЮ   (2005-02-18 12:12:00) [25]

SELECT
 IpAddress, COUNT (DISTINCT CAST(ConnectionTime AS int))
GROUP BY
 IpAddress


msguns   (2005-02-18 12:06:00) [26]

>Johnmen ©   (18.02.05 11:51) [1]

Не понял я, Жень ;(

пример?:

192.168.42.1  12.01.2005 08:20:35
192.168.42.1  12.01.2005 08:20:38
192.168.42.1  12.01.2005 08:24:29
192.168.42.1  12.01.2005 08:28:51
  ...
192.168.42.1  13.01.2005 08:20:35
192.168.42.1  13.01.2005 08:20:38
192.168.42.1  13.01.2005 08:24:29
192.168.42.1  13.01.2005 08:28:51
 

Надо получить:
192.168.42.1  2


Johnmen   (2005-02-18 11:51:00) [27]

Серёга, CAST(D2-D1-0.5 AS INT), количество полных дней между...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо