SQL Server 有一个DATEFIRST
设置,用于确定日期计算的一周的第一天。
SELECT DATENAME(weekday, '2025-04-23') AS WeekdayName -- Wednesday
SET DATEFIRST 7 -- Sunday
SELECT DATEPART(weekday, '2025-04-23') AS WeekdayNumber -- 4
SET DATEFIRST 1 -- Monday
SELECT DATEPART(weekday, '2025-04-23') AS WeekdayNumber -- 3
根据微软的文档DATEFIRST
,美国英语的默认值是 7(星期日)。
如果 SQL Server 配置了非英语或非美国语言,默认值会DATEFIRST
是 7 以外的值吗?如果是,如何检查不同语言的默认值?
是的,它们是不同的。
您可以从 获取当前会话的设置
@@DATEFIRST
。如果您想查看不同语言的默认设置,请查询sys.syslanguages
:在 SQL Server 2022 中,结果如下:
db<>小提琴