合肥建站方案,代理网址上境外网,手机软件制作和做网站相同,网页浏览器tv版你好#xff0c;韩老师有个问题请教。我想通过秒计算加班时间。规则为#xff1a;加班满4小时才算加班#xff0c;加班时间满8小时为加班一天#xff0c;加班时间不足4小时不算加班#xff0c;加班时间大于4小时小于8小时为0.5个加班。我写了一个自定义函数计算但是计算出…你好韩老师有个问题请教。我想通过秒计算加班时间。规则为加班满4小时才算加班加班时间满8小时为加班一天加班时间不足4小时不算加班加班时间大于4小时小于8小时为0.5个加班。我写了一个自定义函数计算但是计算出来的结果不对。麻烦韩老师指教CREATE FUNCTION worktime(startTime int)RETURNS nvarchar(100)ASBEGINdeclare rst nvarchar(500)declare day int declare hours intdeclare aa decimalset rstset daystartTime/28800 --8小时算一天工作量 8小时28800秒set hoursstartTime% 28800/3600 --计算不够8小时多出来的时间是多少小时Set aa0.5 --常数没必要创建变量if(day0) --没必要进行判断set rstdayif(hours4) --这个也多余set rstrstif(hours4) --只需判断是否大于等于4小时set rstrstaa --rst是字符类型的不能和aa加法运算 RETURN rst 以上函数创建之后执行结果达不到预期
select dbo.worktime(2880014300)
结果是1select dbo.worktime(2880014500)
结果是2 我将函数进行了更改和精简 CREATE FUNCTION worktime(startTime int)RETURNS nvarchar(100)ASBEGINdeclare rst nvarchar(500)declare day int declare hours intset rst --可以进行初始化赋值set daystartTime/28800 --计算加班天数由于day是int类型计算结果会自动取整数部分set hoursstartTime% 28800/3600 --计算预先的if(hours4) --如果加班时间超过4小时按半天计算 set rstday0.5 else set rstday --否则不计入加班时间RETURN rstend end转载于:https://blog.51cto.com/91xueit/2051566