计算两天的出勤率

时间:2018-02-22 06:36:03

标签: php html sql-server fingerprint biometrics

我有一台注册员工出勤率的指纹机, 但是有些员工有班次,其中一个班次发生在两天以上,以便员工在晚上11点(21/02/2018)办理登机手续,并在上午6点(22/02/2018)办理登机手续,这是下一个班次天。并且所有这些数据都在数据库中注册。

问题:

问题在于他们的转变是可变的,有时是员工 第二天上午11点来上班,第二天早上6点出门,有一段时间他下午3点到了同一天下午11点,所以当我查看数据库并看到晚上11点的记录时我不会我知道它是属于同一天还是前一天,我想为他们的经理做一份出勤报告。

请求:

我需要一个关于如何解决这个问题的建议,有类似情况的地方如何解决这个问题?

(UPDATE)

示例数据:

enter image description here

1 个答案:

答案 0 :(得分:2)

此答案假设您的数据如下所示:

EmployeeId | check_in            | check_out
1          | 2018-02-21 23:00:00 | 2018-02-22 06:00:00

您可以报告每位员工的统计信息以及与员工签入日期相对应的日期。如果您愿意,还可以报告签出日期。假设前者,您可以尝试此查询:

SELECT
    EmployeeId,
    CONVERT(date, check_in) AS check_in_date,
    DATEDIFF(hh, check_in, check_out) AS shift_length_in_hours
FROM yourTable;