Megosztás a következőn keresztül:


DATEFIRST BEÁLLÍTÁSA (Transact-SQL)

Vonatkozik a következőkre:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitikai Platform System (PDW)SQL adatbázis a Microsoft Fabric-ben

A hét első napját 1 és 7 közötti számra állítja be.

Az összes Transact-SQL dátum- és időadattípus és -függvény áttekintése: Dátum- és időadattípusok és függvények (Transact-SQL).

Transact-SQL szintaxis konvenciók

Szemantika

Az SQL Server és az Azure SQL Database szintaxisa

SET DATEFIRST { number | @number_var }   

Az Azure Synapse Analytics és a párhuzamos adattárház szintaxisa

SET DATEFIRST 7 ;  

Arguments

szám | @number_var

A hét első napját jelző egész szám. Az alábbi értékek egyike lehet.

Érték A hét első napja
1 Hétfő
2 Kedd
3 Szerda
4 Csütörtök
5 Péntek
6 szombat
7 (alapértelmezett, amerikai angol) vasárnap

Megjegyzések

A SET DATEFIRST aktuális beállításának megtekintéséhez használja a @@DATEFIRST függvényt.

A SET DATEFIRST beállítása végrehajtáskor vagy futtatáskor van beállítva, és nem elemzési időpontban.

A SET DATEFIRST megadása nem érinti a DATEDIFF-et. A DATEDIFF mindig a hét első napjaként használja a vasárnapot annak biztosítására, hogy a függvény determinisztikus legyen.

Az összes SET utasításhoz hasonlóan a SET DATEFIRST is hatással van az aktuális munkamenetre.

Permissions

A nyilvános szerepkör tagságát igényli.

Példák

Az alábbi példa a hét napját jeleníti meg egy dátumértékhez, és megjeleníti a beállítás módosításának DATEFIRST hatásait.

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