Avatar billede Slettet bruger
27. januar 2015 - 22:19 Der er 1 kommentar og
1 løsning

lave date range i t-sql

hej har denne her kode
with MonthList as (
    select
        DATEADD(month, M, '12/1/1899') as 'FirstDay',
        dateadd(day, -1, dateadd(month, M + 1, '12/1/1899')) as 'LastDay',
        DATEADD(month, M + 1, '12/1/1899') as 'FirstDayNextMonth'
    from (
        select top 3000 ROW_NUMBER() over (order by s.name) as 'M'
        from master..spt_values s) s
)

select
    ml.FirstDay, ml.LastDay
from
    [LegOgSpass].[dbo].[Dates] t
    inner join MonthList ml
        on  t.MinDate < ml.FirstDayNextMonth
            and t.MaxDate >= ml.FirstDay

som giver mit date range inden for de dates jeg har i mindate og maxdate

problemet er bare hvis min mindate er midt på måneden eller bare en dag senere så tager den stadig fra månedens start. Hvad mangler jeg at gøre for at den tager min mindate i stedet?
Avatar billede Slettet bruger
28. januar 2015 - 09:17 #1
Hvis jeg forstår dit spørgsmål rigtigt, så får du altid hele måneder i dit select og du ønsker fra MinDate til MaxDate samt hele måneder der i mellem. Så mangler du lidt i dit første select:


select
case when t.MinDate > ml.FirstDay then t.MinDate else ml.FirstDay end
,case when  t.MaxDate <  t.MaxDate then  t.MaxDate else  t.MaxDate end
from
....
Avatar billede Slettet bruger
28. januar 2015 - 10:03 #2
Tak! :)

Der var lige en rettelse til din nederste case:

,case when  t.MaxDate <  ml.LastDay then  t.MaxDate else  ml.LastDay end
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

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



IT-JOB

Staten og Kommunernes Indkøbsservice A/S (SKI)

IT-udvikler

KM Optics Denmark ApS

IT-tekniker til medicinsk udstyr

NEM IT-Solutions A/S

IT-driftskonsulent