get date of all saturdays in a given year - sql server

18,907

for the year 2010 you can do this

declare @d datetime
select @d = '20100101'  --'20090101'  if you want 2009 etc etc

select dateadd(dd,number,@d) from master..spt_values
where type = 'p'
and year(dateadd(dd,number,@d))=year(@d)
and DATEPART(dw,dateadd(dd,number,@d)) = 7
Share:
18,907
TEEKAY
Author by

TEEKAY

Updated on June 20, 2022

Comments

  • TEEKAY
    TEEKAY about 2 years

    I need to get a list of all Saturday dates in a given year.

    I've seen an oracle post that goes against a table that had "fiscal calendar table" but I haven't been able to succeed in converting it nor do I have a table that contains a set of dates I want to investigate.

    SELECT DATE DATES,TO_CHAR(DATE,'DAY') DAYS FROM FISCAL_CALENDAR
    WHERE DATE_YEAR = 2009 AND
    DATE BETWEEN TRUNC(SYSDATE,'YEAR') AND
    ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),12) -1 AND
    TRIM(TO_CHAR(DATE,'DAY')) = 'SUNDAY'
    

    was the Oracle (it was for Sunday and 2009 eg)

    Much thanks. -Tom

  • Edward
    Edward about 7 years
    Wow! this even works for Mondays in 2018 too! Thank you ;)