Я создаю приложение для расчета некоторых Входов-Выходов в колл-центр, в основном я делаю, чтобы получить интервал в течение времени.
Что было бы лучше: получить интервал в БДСервер (SQL Server 2000) или в самом коде (Perl)?Я работаю на Windows Server 2003.
В основном операция выглядит так: Login-Logout + 1 Но в каждом запросе около 1 000 000 строк.
PS Я знаю, как это сделать.это то, что мне интересно, что было бы наилучшей практикой.
Это мой фактический запрос:
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'"