Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
databáze SQL v Microsoft Fabric
Nastaví první den v týdnu na číslo od 1 do 7.
Přehled všech datových typů a funkcí Transact-SQL data a času najdete v tématu datové typy a funkce data a času (Transact-SQL).
Syntaxe
Syntaxe pro SQL Server a Azure SQL Database
SET DATEFIRST { number | @number_var }
Syntaxe pro Azure Synapse Analytics a paralelní datový sklad
SET DATEFIRST 7 ;
Arguments
číslo | @number_var
Je celé číslo, které označuje první den v týdnu. Může to být jedna z následujících hodnot.
| Hodnota | První den v týdnu je |
|---|---|
1 |
Pondělí |
2 |
Úterý |
3 |
Středa |
4 |
Čtvrtek |
5 |
Pátek |
6 |
Sobota |
7 (výchozí, angličtina USA) |
Neděle |
Poznámky
Pokud chcete zobrazit aktuální nastavení FUNKCE SET DATEFIRST, použijte funkci @@DATEFIRST .
Nastavení set DATEFIRST je nastaveno při spuštění nebo spuštění a ne v době analýzy.
Určení funkce SET DATEFIRST nemá žádný vliv na FUNKCI DATEDIFF. Funkce DATEDIFF vždy používá neděli jako první den v týdnu, aby byla funkce deterministická.
Stejně jako všechny příkazy SET má funkce SET DATEFIRST vliv na aktuální relaci.
Povolení
Vyžaduje členství ve veřejné roli.
Examples
Následující příklad zobrazí den v týdnu pro hodnotu data a ukazuje účinky změny DATEFIRST nastavení.
-- 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