小编Evi*_*ing的帖子

DateDiff输出小时和分钟

我的代码在几个小时内给出了总时间,但我想输出类似的东西

TotalHours 
  8:36
Run Code Online (Sandbox Code Playgroud)

其中8代表小时部分,36代表分钟部分是指一个人在办公室的一天工作的平均总数.

with times as (
SELECT    t1.EmplID
        , t3.EmplName
        , min(t1.RecTime) AS InTime
        , max(t2.RecTime) AS [TimeOut]
        , t1.RecDate AS [DateVisited]
FROM  AtdRecord t1 
INNER JOIN 
      AtdRecord t2 
ON    t1.EmplID = t2.EmplID 
AND   t1.RecDate = t2.RecDate
AND   t1.RecTime < t2.RecTime
inner join 
      HrEmployee t3 
ON    t3.EmplID = t1.EmplID 
group by 
          t1.EmplID
        , t3.EmplName
        , t1.RecDate
)
SELECT    EmplID
        , EmplName
        , InTime
        , [TimeOut]
        , [DateVisited]
        , DATEDIFF(Hour,InTime, [TimeOut]) TotalHours
from times
Order By EmplID, DateVisited 
Run Code Online (Sandbox Code Playgroud)

sql sql-server

17
推荐指数
5
解决办法
8万
查看次数

标签 统计

sql ×1

sql-server ×1