Avatar billede cutehobbes Nybegynder
31. oktober 2008 - 11:59 Der er 1 løsning

SQL - Skæve helligdage beregning

Hej - jeg har købt og læst artikelen om
Beregning 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
Avatar billede cutehobbes Nybegynder
24. juli 2009 - 17:50 #1
Løst sammen med en sql kollega
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester