@@DATEFIRST (Transact-SQL)
适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics 分析平台系统 (PDW) Microsoft Fabric 中的 SQL 分析端点 Microsoft Fabric 中的仓库
针对特定会话,此函数返回 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;