以日期 2017-12-11 (星期一) 为例
一、一般用法
select datepart(weekday, '2017-12-11')
结果:2
说明:由于MS SQL默认 星期日 为一个星期的第1天,所以 2017-12-11 星期一 就一个星期的第2天了。如此类推:1..7 即代表着 星期日.. 星期六
二、将星期一设为一个星期的第1天
set datefirst 1 -- 这句将星期一设为一个星期的第1天
select datepart(weekday, '2017-12-11')
结果:1
说明:通过set datefirst 1可以将 星期一设为一个星期的第1天,所以 2017-12-11 星期一 就一个星期的第1天了。如此类推:1..7 即代表着 星期一.. 星期日了
三、set datefirst 的用法
语法:SET DATEFIRST { number | @number_var }
参数
number | @number_var
指示一周的第一天的一个整数。可以是下列值之一。
值 一周的第一天是
1 星期一
2 星期二
3 星期三
4 星期四
5 星期五
6 星期六
7 星期日(默认值,美国英语)
说明:
若要查看 SET DATEFIRST 的当前设置,请使用 @@DATEFIRST 函数。
SET DATEFIRST 的设置是在执行或运行时设置,而不是在分析时设置。