我有一个查询,获取日期的 WeekDay ,但默认情况下:
星期日= 1
Moday = 2
等等。
该函数是:
DATEPART(dw,ads.date) as weekday
我需要这样的结果:
星期日= 7
星期一= 1
有没有捷径可以做到这一点?否则我将不得不做一个CASE statement?
CASE statement
您可以使用类似以下的公式:
(weekday + 5) % 7 + 1
如果您决定使用此功能,则应通过一些示例来说服自己确信它确实可以满足您的要求。
另外 :为了不受DATEFIRST变量的影响(可以将其设置为1到7之间的任何值),实际公式为:
(weekday + @@DATEFIRST + 5) % 7 + 1