2.
中空指纹数据库分离的日期和时间:
第一步,先分离出每月晚上加班的数据
SELECT dbo.USERINFO.BADGENUMBER, dbo.USERINFO.NAME, dbo.CHECKINOUT.CHECKTIME, CONVERT(varchar(20), dbo.CHECKINOUT.CHECKTIME, 8)
AS
时间, CONVERT(varchar(100), dbo.CHECKINOUT.CHECKTIME, 23) AS 日期
FROM dbo.CHECKINOUT INNER JOIN
dbo.USERINFO ON dbo.CHECKINOUT.USERID = dbo.USERINFO.USERID
WHERE (CONVERT(varchar(20), dbo.CHECKINOUT.CHECKTIME, 8) > '18 : 00 : 00 ')
第二步,计算每天的加班时间
SELECT BADGENUMBER, NAME,
日期, DATEDIFF(mi, MIN(时间), MAX(时间)) AS 总计分, DATEPART(mm, 日期) AS 月份
FROM dbo.jiaban_ws
GROUP BY BADGENUMBER, NAME,
日期
第三步,计算每月的加班时间
SELECT BADGENUMBER, NAME,
月份, SUM(总计分) / 60 AS 小时, SUM(总计分) % 60 AS 分钟
FROM dbo.jiaban_lj
GROUP BY BADGENUMBER, NAME,
月份
完毕,比先前的代码好多了