Home Forums SQL Server 2005 T-SQL (SS2K5) The maximum recursion 100 has been exhausted before statement completion RE: The maximum recursion 100 has been exhausted before statement completion

  • To add on Nigel's post, you enhance the query in the following way:

    DECLARE @d1 datetime, @d2 datetime

    DECLARE @n int

    SELECT

    @d1 = '20090831',

    @d2 = '20090930',

    @n = DATEDIFF(day,@d1,@d2)

    SELECT

    CAST(DATENAME(dw,date) AS Nvarchar(15)) + ', ' + CASE RIGHT(CAST(DATEPART(dd, date) AS Nvarchar(2)), 1)

    WHEN 1 THEN CAST(DATEPART(dd, date) AS Nvarchar(2)) + 'st'

    WHEN 2 THEN CAST(DATEPART(dd, date) AS Nvarchar(2)) + 'nd'

    WHEN 3 THEN CAST(DATEPART(dd, date) AS Nvarchar(2)) + 'rd'

    ELSE

    CAST(DATEPART(dd, date) AS Nvarchar(2)) + 'th'

    END

    FROM

    (

    SELECT TOP (@n)

    date = DATEADD( day,

    ROW_NUMBER()OVER (ORDER BY t1.name)-1,

    @d1)

    FROM

    sys.columns t1, sys.columns t2

    ) d

    WHERE DATENAME(dw,date) NOT IN ('Saturday','Sunday')