@@DATEFIRST (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric 中的 SQL 分析终结点Microsoft Fabric 中的仓库

针对特定会话,此函数返回 SET DATEFIRST 的当前值。

有关所有 Transact-SQL 日期和时间数据类型及函数的概述,请参阅日期和时间数据类型及函数 (Transact-SQL)

Transact-SQL 语法约定

语法

@@DATEFIRST  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

返回类型

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;  

另请参阅

配置函数 (Transact-SQL)