how to get data of current week only in SQL server?

前端 未结 7 1975
逝去的感伤
逝去的感伤 2020-12-29 03:18

I want records from table which stores the current date when a record is inserted with in current week only.

I have tried:

SELECT PId 
,WorkDate 
,Ho         


        
7条回答
  •  情深已故
    2020-12-29 03:58

    Using DATEDIFF works as well, however a bit hacky since it doesn't care about datefirst:

    set datefirst 1; -- set monday as first day of week
    declare @Now datetime = '2020-09-28 11:00';
    
    
    select * 
    into #Temp
    from
    (select 1 as Nbr, '2020-09-22 10:00' as Created
    union
    select 2 as Nbr, '2020-09-25 10:00' as Created
    union
    select 2 as Nbr, '2020-09-28 10:00' as Created) t
    
    
    select * from #Temp where DATEDIFF(ww, dateadd(dd, -@@datefirst, Created), dateadd(dd, -@@datefirst, @Now)) = 0 -- returns 1 result
    select * from #Temp where DATEDIFF(ww, dateadd(dd, -@@datefirst, Created), dateadd(dd, -@@datefirst, @Now)) = 1 -- returns 2 results
    
    
    drop table #Temp
    

提交回复
热议问题