27,579
社区成员
发帖
与我相关
我的任务
分享
SET DATEFIRST 1
SELECT DATEPART(wk,'2018-05-20') AS '2018-05-20',DATEDIFF(ww,0,'2018-05-20'),DATEPART(wk,'2017-05-13') AS '2017-05-13',DATEDIFF(ww,0,'2017-05-13')
,DATEDIFF(ww,0,'2018-05-19') AS '2018-05-19'
declare @dt date
select @dt = '2018-5-28'
select @dt as currentDay,datepart(WEEKDAY,@dt) as weekdaynum
,dateadd(d,(case when datepart(WEEKDAY,@dt)=1 then -6 else 2-datepart(WEEKDAY,@dt) end),@dt) as FirstDayOfWeek
,dateadd(d,(case when datepart(WEEKDAY,@dt)=1 then 0 else 8-datepart(WEEKDAY,@dt) end),@dt) as LastDayOfWeek
,datepart(week,@dt) as DefaultWeekNumber
,datepart(week,@dt)+(case when datepart(WEEKDAY,@dt)=1 then -1 else 0 end) as NewWeekNumber