Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Database w Microsoft Fabric
Ustawia pierwszy dzień tygodnia na liczbę z zakresu od 1 do 7.
Aby zapoznać się z omówieniem wszystkich typów danych i funkcji daty i godziny Transact-SQL, zobacz Typy danych i funkcje daty i godziny (Transact-SQL).
Transact-SQL konwencje składni
Składnia
Składnia dla programu SQL Server i usługi Azure SQL Database
SET DATEFIRST { number | @number_var }
Składnia dla usług Azure Synapse Analytics i Parallel Data Warehouse
SET DATEFIRST 7 ;
Arguments
numer | @number_var
Jest liczbą całkowitą wskazującą pierwszy dzień tygodnia. Może to być jedna z następujących wartości.
| Wartość | Pierwszy dzień tygodnia to |
|---|---|
1 |
Poniedziałek |
2 |
Wtorek |
3 |
Środa |
4 |
Czwartek |
5 |
Piątek |
6 |
Sobota |
7 (ustawienie domyślne, angielski w Stanach Zjednoczonych) |
Niedziela |
Uwagi
Aby wyświetlić bieżące ustawienie set DATEFIRST, użyj funkcji @@DATEFIRST .
Ustawienie SET DATEFIRST jest ustawione w czasie wykonywania lub wykonywania, a nie w czasie analizy.
Określanie ustawienia SET DATEFIRST nie ma wpływu na DATEDIFF. FUNKCJA DATEDIFF zawsze używa niedzieli jako pierwszego dnia tygodnia, aby upewnić się, że funkcja jest deterministyczna.
Podobnie jak w przypadku wszystkich instrukcji SET, funkcja SET DATEFIRST wpływa na bieżącą sesję.
Permissions
Wymaga członkostwa w roli publicznej .
Przykłady
Poniższy przykład przedstawia dzień tygodnia dla wartości daty i pokazuje efekty zmiany DATEFIRST ustawienia.
-- 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