SQL Server中非美式英语语言的DATEFIRST默认值及查询方法
SQL Server 中 DATEFIRST 的作用与默认值差异
DATEFIRST 是 SQL Server 中用于指定日期计算时一周起始日的配置项,以下是具体使用示例:
SELECT DATENAME(weekday, '2025-04-23') AS WeekdayName -- 结果:星期三 SET DATEFIRST 7 -- 将一周起始日设为星期日 SELECT DATEPART(weekday, '2025-04-23') AS WeekdayNumber -- 结果:4 SET DATEFIRST 1 -- 将一周起始日设为星期一 SELECT DATEPART(weekday, '2025-04-23') AS WeekdayNumber -- 结果:3
根据官方定义,美式英语环境下 DATEFIRST 的默认值为7(对应星期日)。
非美式/非英语环境的默认值问题
是的,当 SQL Server 配置为非美式英语的语言时,DATEFIRST 的默认值大概率不等于7。
查看不同语言对应的默认DATEFIRST值
可以通过查询系统视图 sys.syslanguages 获取所有支持语言的默认DATEFIRST设置,执行以下SQL即可:
SELECT name AS 语言名称, datefirst AS 默认一周起始日编号 FROM sys.syslanguages
返回结果中,datefirst 列的数值对应一周的起始日(7=星期日,1=星期一,以此类推)。
内容的提问来源于stack exchange,提问作者Stevoisiak
相关产品推荐
相关产品推荐

