How to get Last Thursday Date

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • rsrinivasan
    New Member
    • Mar 2007
    • 221

    How to get Last Thursday Date

    Hi all,

    I need a query that will return last thursday date dynamically. Can any one send it to me?

    Thanks in advance,
  • deepuv04
    Recognized Expert New Member
    • Nov 2007
    • 227

    #2
    Hi,
    If you are looking for the last Thursday
    [code= sql]



    declare @date datetime,
    @day int



    declare @startdate datetime,

    @enddate datetime

    --set @date = getdate()



    set @day = datepart(day,ge tDate())-1



    set @startdate = DATEADD(day,-30,getDate())

    set @enddate = getdate()



    SELECT TOP 1 Date

    FROM

    ( Select dateadd(day,num ber,@startdate) AS Date

    from master.dbo.spt_ values

    where master.dbo.spt_ values.type='p'

    AND dateadd(day,num ber,@startdate) <=(@enddate)

    ) AS T

    WHERE DATENAME(dw, Date) = 'Thursday' AND
    Date <= GetDate()
    ORDER BY Date desc
    [/code]

    If you are looking for last Thursday in a month:

    [code=sql]



    declare @date datetime,
    @day int



    declare @startdate datetime,

    @enddate datetime

    set @date = getdate()



    set @day = datepart(day,@d ate)-1



    set @startdate = DATEADD(day,-@day,@date)

    set @enddate = DATEADD(month,1 ,@startdate)



    SELECT TOP 1 Date

    FROM

    ( Select dateadd(day,num ber,@startdate) AS Date

    from master.dbo.spt_ values

    where master.dbo.spt_ values.type='p'

    AND dateadd(day,num ber,@startdate) <=(@enddate)

    ) AS T

    WHERE DATENAME(dw, Date) = 'Thursday'

    ORDER BY Date desc
    [/code]

    thanks

    Comment

    Working...