@@DATEFIRST (Transact-SQL)

Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL analytics endpoint in Microsoft Fabric Warehouse in Microsoft Fabric

This function returns the current value of SET DATEFIRST, for a specific session.

See Date and Time Data Types and Functions (Transact-SQL) for an overview of all Transact-SQL date and time data types and functions.

Transact-SQL syntax conventions

Syntax

@@DATEFIRST  

Return Type

tinyint

Remarks

SET DATEFIRST n specifies the first day (SUNDAY, MONDAY, TUESDAY, etc.) of the week. The value of n ranges from 1 to 7.

SET DATEFIRST 3;
GO  
SELECT @@DATEFIRST; -- 3 (Wednesday)
GO

For a U.S. English environment, @@DATEFIRST defaults to 7 (Sunday).

This language setting impacts character string interpretation as SQL Server converts those strings to date values for database storage. This setting also impacts display of date values stored in the database. This setting does not impact the storage format of date data.

This example first sets the language to Italian. The statement SELECT @@DATEFIRST; returns 1. The next statement sets the language to is then set to us_english. The final statement, SELECT @@DATEFIRST; returns 7.

SET LANGUAGE Italian;  
GO  
SELECT @@DATEFIRST;  
GO  
SET LANGUAGE us_english;  
GO  
SELECT @@DATEFIRST;  

Examples

This example sets the first day of the week to 5 (Friday), and assumes that the current day, Today, falls on Saturday. The SELECT statement returns the DATEFIRST value and the number of the current day of the week.

SET DATEFIRST 5;  
SELECT @@DATEFIRST AS 'First Day'  
    ,DATEPART(dw, SYSDATETIME()) AS 'Today';  

Here is the result set.

First Day         Today  
----------------  --------------  
5                 2  

Example

Azure Synapse Analytics and Analytics Platform System (PDW)

SELECT @@DATEFIRST;  

See also

Configuration Functions (Transact-SQL)