需要帮助。
场景:我的DTR系统有时间和超时。我的问题是,让我们说employee1 TIMED-IN:上午9:20和TIMED-out:6:00,所以基本上他的总工作时间是8:40,但是有些员工正在利用这个愚蠢的系统所以什么他们这样做,他们定时:早上9点20分(并且保持一点点时间,以便他们可以完成9小时的要求工作)时间安排:下午6:20。
问题:如何减少或不包括计算总工时的超过20分钟。
技术:MySql,存储过程
示例脚本,但这仅适用于lates:
TIMESTAMPDIFF(分钟,dtr1
。TIMEIN
,dtr1
。TIMEOUT
)作为测试,
TIMESTAMPDIFF时的情况(分钟,dtr1
。TIMEIN
,dtr1
。TIMEOUT
)< 540那么540 - TIMESTAMPDIFF(分钟,dtr1
。TIMEIN
,dtr1
。TIMEOUT
)
提前致谢
答案 0 :(得分:0)
我会做这样的事情(未经测试):
CREATE FUNCTION example_function()
BEGIN
RETURN INT;
DECLARE minutes_worked INT;
DECLARE maximum_minutes_in_day INT;
SET maximum_minutes_in_day = 540;
SELECT TIMESTAMPDIFF(minute, dtr1.TIMEIN,dtr1.TIMEOUT) into minutes_worked;
IF minutes_worked > maximum_minutes_in_day THEN
SET minutes_worked = maximum_minutes_in_day;
END IF
RETURN(minutes_worked);
END