適用対象: ○SQL Server (2008 以降) ○Azure SQL Database ○Azure SQL Data Warehouse ○Parallel Data Warehouse APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

週の最初の曜日を 1 から 7 の数値で設定します。Sets the first day of the week to a number from 1 through 7.

すべての概要については Transact-SQLTransact-SQL 日付と時刻のデータ型および関数、を参照してください。 日付と時刻のデータ型および関数と #40 です。TRANSACT-SQL と #41;.For an overview of all Transact-SQLTransact-SQL date and time data types and functions, see Date and Time Data Types and Functions (Transact-SQL).

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions


-- Syntax for SQL Server and Azure SQL Database  
SET DATEFIRST { number | @number_var }   
-- Syntax for Azure SQL Data Warehouse and Parallel Data Warehouse  


number | @ number_varnumber | @number_var
週の最初の曜日を示す整数値を指定します。Is an integer that indicates the first day of the week. 次のいずれかの値を指定できます。It can be one of the following values.

[値]Value 週の最初の曜日First day of the week is
11 月曜日Monday
22 火曜日Tuesday
33 水曜日Wednesday
44 木曜日Thursday
55 金曜日Friday
66 土曜日Saturday
7 (米国英語、既定値)7 (default, U.S. English) 日曜日Sunday


SET DATEFIRST の現在の設定を確認するには、@@DATEFIRST 関数を使います。To see the current setting of SET DATEFIRST, use the @@DATEFIRST function.

SET DATEFIRST の設定は、解析時ではなく実行時に設定されます。The setting of SET DATEFIRST is set at execute or run time and not at parse time.

SET DATEFIRST を指定しても DATEDIFF に影響はありません。Specifying SET DATEFIRST has no effect on DATEDIFF. DATEDIFF では、週の最初の曜日として常に日曜日を使用し、関数が確実に決定的になるようにします。DATEDIFF always uses Sunday as the first day of the week to ensure the function is deterministic.


ロール public のメンバーシップが必要です。Requires membership in the public role.


次の例では、日付値に対応する曜日を表示し、DATEFIRST の設定を変更した場合の影響を示しています。The following example displays the day of the week for a date value and shows the effects of changing the DATEFIRST setting.

-- SET DATEFIRST to U.S. English default value of 7.  
SELECT CAST('1999-1-1' AS datetime2) AS SelectDate  
    ,DATEPART(dw, '1999-1-1') AS DayOfWeek;  
-- January 1, 1999 is a Friday. Because the U.S. English default   
-- specifies Sunday as the first day of the week, DATEPART of 1999-1-1  
-- (Friday) yields a value of 6, because Friday is the sixth day of the   
-- week when you start with Sunday as day 1.  
-- Because Wednesday is now considered the first day of the week,  
-- DATEPART now shows that 1999-1-1 (a Friday) is the third day of the   
-- week. The following DATEPART function should return a value of 3.  
SELECT CAST('1999-1-1' AS datetime2) AS SelectDate  
    ,DATEPART(dw, '1999-1-1') AS DayOfWeek;  

参照See Also

SET ステートメント (Transact-SQL)SET Statements (Transact-SQL)