继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

出勤时间

android开发学习视频
关注TA
已关注
手记 304
粉丝 52
获赞 322

雇员表出勤表中,只有一个字段为上班总工时,需要计算出正常上班工时,缺勤工时和加班工时。

代码

CREATE FUNCTION [dbo].[udf_WorkingHours]
(   
)
RETURNS @WorkingHours TABLE([WorkTicketId] INT,[OperatorDate] DATETIME,[NormalWorkTime] DECIMAL(18,6),[AbsentationTime] DECIMAL(18,6),[OverTime] DECIMAL(18,6))
AS
BEGIN
    INSERT INTO @WorkingHours 
    SELECT DISTINCT [WorkTicketId],[OperatorDate],
    --正常工时
    (CASE WHEN (ISNULL([Presence],0) < 8) THEN [Presence]WHEN (ISNULL([Presence],0) >= 8) THEN 8 END),
    --缺勤工时
    (CASE WHEN (ISNULL([Presence],0) < 8) THEN (8- [Presence]) WHEN (ISNULL([Presence],0) >= 8) THEN 0 END),            
    --加班工时
    (CASE WHEN (ISNULL([Presence],0) <= 8) THEN 0 WHEN (ISNULL([Presence],0) > 8) THEN ([Presence]- 8) END)            
    FROM [dbo].[udf_WorkTicketRecorded]()
    RETURN
END

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP