--01 一周星期几作为第一天查询
select @@DATEFIRST
--02 更改一周星期几作为第一天(从 1 到 7,表示从周一到周日,默认是7)
set datefirst 7
由于datefirst 有可能被更改,可以在查询语句中处理 以周几作为第一天:
--03 查询中处理一周星期几作为第一天
Declare @EndDate date,@WeekStartDay int
select @EndDate='2023-05-13', --星期六
@WeekStartDay=1 --注:1-7 表示 周一到周日
select DATEPART(WEEKDAY, @EndDate), @@DATEFIRST, 6, @WeekStartDay,
(DATEPART(WEEKDAY, @EndDate) + @@DATEFIRST + 6 - @WeekStartDay) % 7 + 1
--结果是6