• sorry last request... if Sunday were to be added on there? So both Saturday and Sunday.

    I'll assume you want to count them separately. If you want a total of both, just add the Counts instead of showing them as separate columns.

    DECLARE @year int

    SET @year = 2012 --<<-- chg as needed

    SELECT

    month_start,

    DATEDIFF(DAY, '19000106', DATEADD(DAY, -1, DATEADD(MONTH, 1, month_start))) / 7 -

    DATEDIFF(DAY, '19000106', DATEADD(DAY, -1, month_start)) / 7 AS Count_Of_Saturdays,

    DATEDIFF(DAY, '19000107', DATEADD(DAY, -1, DATEADD(MONTH, 1, month_start))) / 7 -

    DATEDIFF(DAY, '19000107', DATEADD(DAY, -1, month_start)) / 7 AS Count_Of_Sundays

    FROM (

    SELECT CAST(CAST(@year * 10000 + 0101 AS char(8)) AS datetime) AS month_start UNION ALL

    SELECT CAST(@year * 10000 + 0201 AS char(8)) UNION ALL

    SELECT CAST(@year * 10000 + 0301 AS char(8)) UNION ALL

    SELECT CAST(@year * 10000 + 0401 AS char(8)) UNION ALL

    SELECT CAST(@year * 10000 + 0501 AS char(8)) UNION ALL

    SELECT CAST(@year * 10000 + 0601 AS char(8)) UNION ALL

    SELECT CAST(@year * 10000 + 0701 AS char(8)) UNION ALL

    SELECT CAST(@year * 10000 + 0801 AS char(8)) UNION ALL

    SELECT CAST(@year * 10000 + 0901 AS char(8)) UNION ALL

    SELECT CAST(@year * 10000 + 1001 AS char(8)) UNION ALL

    SELECT CAST(@year * 10000 + 1101 AS char(8)) UNION ALL

    SELECT CAST(@year * 10000 + 1201 AS char(8))

    ) AS months_of_the_year

    ORDER BY

    month_start

    SQL DBA,SQL Server MVP(07, 08, 09) A socialist is someone who will give you the shirt off *someone else's* back.