SQL - Skæve helligdage beregning
Hej - jeg har købt og læst artikelen omBeregning af arbejdsdage & skæve helligdage
Funktioner til beregning af helligdage (Påske, Pinse etc) og arbejdsdage.
Det lyder som noget jeg kan bruge - men min SQL erfaring er ikke voldsom endnu, så jeg har meget svært ved at gennemskue hvor jeg skulle placere denne udregning i min eksisterende kode... :-D
Min kode:
DECLARE @addvalue float
--DECLARE @addvalue2 bigint
DECLARE @addvalue3 float
SET @addvalue = 1.0
--SET @addvalue2 = 1000000
SET @addvalue3 = 0.5
Select
substring (core_absence.startdate,1,8) as Startdato, --/ @addvalue2 as Startdato,
substring (core_absence.stopdate,1,8) as Stopdato, --/ @addvalue2
core_user."5E0B2F9d_A66C_4B98_BE7E_91E808BA1BE7" as KOMPANNR,
substring(core_user.username,11,6)as Medarbejder,
core_absence.absencetype as Fravær,
CASE
WHEN patindex('%middag%',core_absence.absencetype) > 0 THEN DateDiff(day, convert(datetime, Substring(startdate,1,8),112),
convert(datetime, Substring(stopdate,1,8),112))- DateDiff(ww, convert(datetime, Substring(startdate,1,8),112), convert(datetime, Substring(stopdate,1,8),112))*2 + @addvalue3
ELSE DateDiff(day, convert(datetime, Substring(startdate,1,8),112),
convert(datetime, Substring(stopdate,1,8),112))- DateDiff(ww, convert(datetime, Substring(startdate,1,8),112), convert(datetime, Substring(stopdate,1,8),112))*2 + @addvalue
END AS AntalDage
FROM core_absence, core_user
WHERE core_absence.username = core_user.id AND
'20081001'<= Startdate AND Stopdate <= '20081031z' --AND core_absence.absencetype <> ('Barns første sygedag')
ORDER BY Medarbejder