SQL Server默认周日为每周第一天,如何让周一变为每周的第一天
在国外人认为周日为每周的第一天,而国内一般认为周一是每周的第一天,所以在周几的计算上有点不麻烦。
其实在sql server中是可以对每周的第一天进行设置的。那就是@@DATEFIRST全局变量。在sql server环境中该值默认为7。可以输出一下这个变量值。
print @@DATEFIRST ;
结果是:7
意思就是把星期天作为一周的第一天。
执行 (20181103 这一天是周六):
print DATEPART(dw,'20181103')
结果是: 7 (周日为1 周一为2 周二为3 周三为4 周四为5 周五为6 周六为7 )
修改DATEFIRST的值后在执行:
SET DATEFIRST 1 ;
print DATEPART(dw,'20181103');
结果: 6 (周一为1 周二为2 周三为3 周四为4 周五为5 周六为6 周日为7 )