Я создаю приложение для расчета некоторых Login -Logouts в колл-центре, в основном то, что я делаю, это получить интервал времени.Математическая операция в SQL?
Что было бы лучше: , чтобы получить интервал на сервере БД (SQL Server 2000), или в самом коде (Perl)? я бегу на Windows Server 2003.
В основном операция: Войти, Выход + 1 Но есть около 1 000 000 строк по каждому запросу.
P.S Я знаю, как это сделать, что мне интересно, что было бы лучшей практикой.
Это мой фактический запрос:
select S.Ident,S.Dateissued ,
S.LoginMin,S.LogoutMin ,
E.Exc_Name ,
CAST(CAST((LoginMin/60 + (LoginMin % 60)/100.0) as int) AS varchar) + ':' + CASE WHEN LoginMin % 60 < 10 THEN '0'+ CAST(LoginMin % 60 AS varchar) ELSE CAST(LoginMin % 60 AS varchar) END ,
CAST(CAST((LogoutMin/60 + (LogoutMin % 60)/100.0) as int) AS varchar) + ':' + CASE WHEN LogoutMin % 60 < 10 THEN '0'+ CAST(LogoutMin % 60 AS varchar) ELSE CAST(LogoutMin % 60 AS varchar) END,
(LogoutMin-LoginMin)+1 as Mins,
E.Exc_ID,action
FROM igp_ScheduleLoginLogout S INNER JOIN igp_ExemptionsCatalog E
ON S.Exc_ID = E.Exc_ID
where ident=$ident
and dateissued between '$dateissued' and '$dateissued2'"
У вас есть модель данных, которая поможет лучше ответить на ваш вопрос? – Chandu
Я добавил запрос – isJustMe
Просто боковое: Броски, которые вы делаете для отображения hh: mm, вычисляются намного дороже, чем ваш простой расчет, на порядок. – Martin