@@DATEFIRST (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウス

この関数は、特定のセッションにおける、SET DATEFIRST の現在の値を返します。

Transact-SQL の日付と時刻のデータ型および関数の概要については、「日付と時刻のデータ型および関数 (Transact-SQL)」を参照してください。

Transact-SQL 構文表記規則

構文

@@DATEFIRST  

Note

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)