@@DATEFIRST (Transact-SQL)

APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

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.

Topic link icon 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 SQL Data Warehouse and Parallel Data Warehouse

SELECT @@DATEFIRST;  

See also

Configuration Functions (Transact-SQL)