开发考勤报表 上班期间 上午8.30-11.30 下午13.00-18.00 外出和返回打卡间隔超过一小时记录(午休时间不算)
用了 Employee 考勤表 AttendanceCollect 数据采集表
SELECT
E.CnName AS 姓名,
A.Date AS 刷卡日期,
A.Time AS 刷卡时间,
A.CardCode AS 员工ID ,
A.AttendanceCollectId AS 刷卡数据ID,
CONVERT(nvarchar(30),A.date,23) 日期,
convert(varchar,min(A.date),8) 开始时间,
convert(varchar,max(A.date),8) 结束时间,
DATEDIFF(minute,convert(varchar,min(A.date),8),
convert(varchar,max(A.date),8 )) 间隔时间
FROM AttendanceCollect AS A
LEFT JOIN Employee AS E
ON A.EmployeeId=E.EmployeeId
where
((convert(varchar,A.date,8) >= '8:30') and (convert(varchar,A.date,8) <= '11:30') ) or
((convert(varchar,A.date,8) >= '13:00') and (convert(varchar,A.date,8) <= '18:00') )
group by A.EmployeeId,
E.CnName,
A.Date,
A.Time,
A.CardCode,
A.AttendanceCollectId,
(CONVERT(nvarchar(30),A.date,23))
不显示间隔时间 而且 如果查我自己的话 我是22年四月一入职的 记录上确有20年的记录
实在不知道该怎么写了