コールセンターでいくつかのログインログアウトを計算するためのアプリケーションを作成していますが、基本的には時間内に間隔を取得することです。SQLによる数学演算ですか?
DBサーバー(SQL Server 2000)、 、またはコード自体(Perl)の間隔を取得するには、どちらが最適でしょうか。 ログイン-ログアウト+ 1 しかし、各クエリで約1 000 000行があります 私は、Windows Server 2003
上で実行しています。基本的操作があります。
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
を追加しました。ちょうどsidenote:hh:mmを表示するために行っているキャストは計算上、あなたの単純な計算よりもはるかに高価です。 – Martin