SET DATEFIRST (Transact-SQL)SET DATEFIRST (Transact-SQL)

Gilt für: JaSQL Server JaAzure SQL-Datenbank JaAzure Synapse Analytics (SQL DW) JaParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Legt den ersten Wochentag auf eine Zahl von 1 bis 7 fest.Sets the first day of the week to a number from 1 through 7.

Eine Übersicht über alle Datums- und Uhrzeitdatentypen und zugehörige Funktionen für Transact-SQLTransact-SQL finden Sie unter Date and Time Data Types and Functions (Transact-SQL) (Datums- und Uhrzeitdatentypen und zugehörige Funktionen).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).

Themenlinksymbol Transact-SQL-SyntaxkonventionenTopic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

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

ArgumenteArguments

number | @ number_varnumber | @number_var
Eine ganze Zahl, die den ersten Tag der Woche angibt.Is an integer that indicates the first day of the week. Dieses Argument einen der folgenden Werte annehmen.It can be one of the following values.

valueValue Der erste Tag der Woche ist:First day of the week is
11 MontagMonday
22 DienstagTuesday
33 MittwochWednesday
44 DonnerstagThursday
55 FreitagFriday
66 SamstagSaturday
7 (Standardwert, Englisch (USA))7 (default, U.S. English) SonntagSunday

BemerkungenRemarks

Verwenden Sie die Funktion @@DATEFIRST, um die aktuelle Einstellung von SET DATEFIRST anzuzeigen.To see the current setting of SET DATEFIRST, use the @@DATEFIRST function.

Die Einstellung von SET DATEFIRST wird zur Ausführungszeit und nicht zur Analysezeit festgelegt.The setting of SET DATEFIRST is set at execute or run time and not at parse time.

Das Angeben von SET DATEFIRST hat keine Auswirkungen auf DATEDIFF.Specifying SET DATEFIRST has no effect on DATEDIFF. DATEDIFF verwendet immer Sonntag als ersten Wochentag, um zu gewährleisten, dass die Funktion deterministisch ist.DATEDIFF always uses Sunday as the first day of the week to ensure the function is deterministic.

BerechtigungenPermissions

Erfordert die Mitgliedschaft in der public -Rolle.Requires membership in the public role.

BeispieleExamples

Im folgenden Beispiel wird der Wochentag für einen Datumswert angezeigt, und es wird gezeigt, wie sich Änderungen der DATEFIRST-Einstellung auswirken.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.  
SET DATEFIRST 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.  
  
SET DATEFIRST 3;  
-- 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;  
GO  

Weitere InformationenSee Also

SET-Anweisungen (Transact-SQL)SET Statements (Transact-SQL)