• I tried that, all of that. I will attempt to put the solution in words.

    1. Calculate the dateDiff in months between the Start and End Dates

    S: E: Diff:

    2008-06-15 2008-08-10 2

    2. Join to a Table (tally, derived, CTE ) of numbers that covers your range including 0

    Start End Diff Num

    2008-06-15 2008-08-10 2 0

    2008-06-15 2008-08-10 2 1

    2008-06-15 2008-08-10 2 2

    3. Calculate the Start of months (and therefore the End )

    Start End Diff Num NewStart NewEnd

    2008-06-15 2008-08-10 2 0 2008-06-01 2008-06-30

    2008-06-15 2008-08-10 2 1 2008-07-01 2008-07-31

    2008-06-15 2008-08-10 2 2 2008-08-01 2008-08-31

    NewStart = DateAdd(Month, DateDiff( month, 0, Start) +Num ,0 )

    Then do the Case When NewStart > Start Etc.