SET DATEFIRST (Transact-SQL)

 

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)jaAzure SQL-DatenbankjaAzure SQL Data Warehouse jaParallel Data Warehouse

Legt den ersten Wochentag auf eine Zahl von 1 bis 7 fest.

Eine Übersicht über alle Transact-SQL Datums-und Uhrzeitdatentypen und Funktionen finden Sie unter Datums- und Uhrzeitdatentypen und zugehörige Funktionen (Transact-SQL).

Topic link icon Transact-SQL-Syntaxkonventionen

-- 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 ;  

number | @number_var
Eine ganze Zahl, die den ersten Tag der Woche angibt. Dieses Argument einen der folgenden Werte annehmen.

WertErster Tag der Woche ist.
1Montag
2Dienstag
3Mittwoch
4Donnerstag
5Freitag
6Samstag
7 (Standard, USA (USA))Sonntag

Um die aktuelle Einstellung von SET DATEFIRST anzuzeigen, verwenden Sie die @@DATEFIRST Funktion.

Die Einstellung von SET DATEFIRST wird zur Ausführungszeit und nicht zur Analysezeit festgelegt.

Das Angeben von SET DATEFIRST hat keine Auswirkungen auf DATEDIFF. DATEDIFF verwendet immer Sonntag als ersten Wochentag, um zu gewährleisten, dass die Funktion deterministisch ist.

Erfordert die Mitgliedschaft in der public -Rolle.

Im folgenden Beispiel wird der Wochentag für einen Datumswert angezeigt, und es wird gezeigt, wie sich Änderungen der DATEFIRST-Einstellung auswirken.

-- 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  

-- SET DATEFIRST to U.S. English default value of 7.  
SET DATEFIRST 7;  
  

SET-Anweisungen (Transact-SQL)

Community-Beiträge

HINZUFÜGEN
Anzeigen: