0
我有这种情况,我需要计算给定的4周时间内员工的总合同工时数。雇员可以改变小时中旬期间,因此总承包小时就需要根据当时间改变SQL Server - 月的总小时数
调整我的SQL是
declare @start datetime = '2017-06-20'
declare @end datetime = '2017-07-20'
select j.EMPLOY_REF,
j.ACT_HOURS * 4 as ContractedHoursPer4WeekPeriod,
j.ACT_HOURS as ContractedHoursPerWeek,
(j.ACT_HOURS/7) as ContractedHoursPerDay,
j.COSTCENTRE,
j.FROMDATE,
j.UNTILDATE
from jobholdr j
where EMPLOY_REF ='000033504'
,其结果是
如果从2017年6月20日到2017年7月20日的这个例子中,这段时间应该有10天,每周39小时,然后每周30小时20天。
这是如何计算的,以给出期间总合同小时数的一个结果,因为该期间的合同小时数有差异。我猜测它需要被分解为天之内完成,但我不知道下一步去哪里...
编辑你的问题,并显示用于生成结果的数据。 –
我在您的查询中看不到“@ start”和“@ end” –
“我猜测它需要通过将其分解为几天来完成”。好主意。你需要一个整数计数表来列举'@ start'和'@ end'之间的天数,并将这一天加入正确的行每星期每周收听。 – Serg