适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
分析平台系统(PDW)
Microsoft Fabric 中的 SQL 分析终结点
Microsoft Fabric 中的仓库
Microsoft Fabric 中的 SQL 数据库
针对特定会话,此函数返回 SET DATEFIRST 的当前值。
有关所有 Transact-SQL 日期和时间数据类型及函数的概述,请参阅日期和时间数据类型及函数 (Transact-SQL)。
语法
@@DATEFIRST
返回类型
tinyint
备注
SET DATEFIRST n 指定一周的第一天(星期日、星期一、星期二等)。 n 值的范围为 1 到 7。
SET DATEFIRST 3;
GO
SELECT @@DATEFIRST; -- 3 (Wednesday)
GO
对于美式英语环境,@@DATEFIRST 默认为 7(星期日)。
此语言设置会影响字符串解释,因为 SQL Server 会将这些字符串转换为数据库存储的日期值。 此设置还会影响存储在数据库中的日期值的显示。 此设置不会影响日期数据的存储格式。
此示例首先将语言设置为 Italian。 语句 SELECT @@DATEFIRST; 返回 1。 然后,下一个语句将语言设置为 us_english。 最后一个语句 SELECT @@DATEFIRST; 返回 7。
SET LANGUAGE Italian;
GO
SELECT @@DATEFIRST;
GO
SET LANGUAGE us_english;
GO
SELECT @@DATEFIRST;
示例
此示例将每周的第一天设为 5(星期五),并假定当天 (Today) 是星期六。 该 SELECT 语句返回 DATEFIRST 值和当天是此周的第几天。
SET DATEFIRST 5;
SELECT @@DATEFIRST AS 'First Day'
,DATEPART(dw, SYSDATETIME()) AS 'Today';
结果集如下。
First Day Today
---------------- --------------
5 2
示例
Azure Synapse Analytics 和 Analytics Platform System (PDW)
SELECT @@DATEFIRST;