sql 获取一个周的周一和周日

Declare @Week smallint,@Date datetime
Set datefirst 1 /* 设置周的第一天 */
Set @Week= DATEPART(wk,GETDATE())/* 第几周 */
Set @Date=Dateadd(week,@Week-1,rtrim(year(getdate()))+'0101')-datepart(dw,rtrim(year(getdate()))+'0101')+1 /* 算出第16周的第一个日期 */
Select @Week As [周],@Date+Case When 1>=@@datefirst Then 1-@@datefirst Else 7+(1-@@datefirst) End As [星期一],@Date+Case When 7>=@@datefirst Then 7-@@datefirst Else 7+(7-@@datefirst) End As [星期日]

你可能感兴趣的:(sql)