• (reposted from other thread)

    Your best bet is to use a TALLY table, a CTE, or at worst a Recursive CTE.

    using an crude tally table

    With Cte_n

    AS

    (

    Select 1 a Union ALL Select 1 Union ALL Select 1 Union ALL Select 1 Union ALL Select 1

    UNION ALL Select 1 a Union ALL Select 1 Union ALL Select 1 Union ALL Select 1 Union ALL Select 1

    ),Cte_n1

    AS

    (

    Select n1.a a from CTE_n n, Cte_n n1,Cte_n n2

    ),

    Cte_Tally

    AS

    (

    Select Row_Number() OVER (ORDER BY a) a from Cte_n1

    )

    Select

    DateAdd(d,a-1,'01-Jan-1900')

    From Cte_Tally

    Working out the date parts year, months etc should be relatively simple.

    _________________________________________________________________________
    SSC Guide to Posting and Best Practices