本文主要记录下平时工作中考勤统计中的SQL脚本,以便于后续翻阅,同时和大家分享一下,不足的地方还请大牛多多给与点评。
1.首先是查询某员工的考勤记录。可以根据年份,月份,或者时间段查询结果,同时也可以去掉人员筛选条件,查询多个人的考勤结果。以及计算出该员工的打卡是否正常。SQL语句如下所示:
SELECT 员工号,卡号,姓名,日期,
'打卡记录' AS 考勤类型,
Substring(日期, 1, 4) AS 年份,
Substring(日期, 6, 2) AS 月份,
Datename(weekday, 日期) AS 工作日类型,
Min(打卡时间) AS 上班打卡时间,
Max(打卡时间) AS 下班打卡时间,
CASE
WHEN Datename(weekday, 日期) <> '星期六'
AND Datename(weekday, 日期) <> '星期日' THEN( CASE
WHEN Min(打卡时间) = Max(打卡时间) THEN'上班或下班忘打卡'