適用於:SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
Azure Synapse Analytics
分析平台系統(PDW)
Microsoft Fabric 中的 SQL 分析端點
Microsoft Fabric 中的倉儲
Microsoft Fabric 中的 SQL 資料庫
此函式會傳回特定工作階段之 SET DATEFIRST 的目前值。
如需所有 Transact-SQL 日期和時間資料類型與函式的概觀,請參閱日期和時間資料類型與函式 (Transact-SQL)。
語法
@@DATEFIRST
傳回類型
tinyint
備註
SET DATEFIRST n 會指定當週第一天 (星期日、星期一、星期二等)。 n 值的範圍從 1 到 7。
SET DATEFIRST 3;
GO
SELECT @@DATEFIRST; -- 3 (Wednesday)
GO
針對美國英文環境,@@DATEFIRST 預設為 7 (星期日)。
這項語言設定會影響字元字串解譯,因為 SQL Server 會將這些字串轉換成日期值以便資料庫儲存。 這項設定也會影響儲存在資料庫中之日期值的顯示。 這項設定不會影響日期資料的儲存格式。
此範例會先將語言設定為 Italian。 陳述式 SELECT @@DATEFIRST; 會傳回 1。 下一個陳述式會接著將語言設定為 us_english。 最後一個陳述式 SELECT @@DATEFIRST; 會傳回 7。
SET LANGUAGE Italian;
GO
SELECT @@DATEFIRST;
GO
SET LANGUAGE us_english;
GO
SELECT @@DATEFIRST;
範例
此範例是將當週第一天設為 5 (星期五),並且假設當日 (Today) 是星期六。
SELECT 陳述式會傳回 DATEFIRST 值以及當週當日的號碼。
SET DATEFIRST 5;
SELECT @@DATEFIRST AS 'First Day'
,DATEPART(dw, SYSDATETIME()) AS 'Today';
結果集如下所示。
First Day Today
---------------- --------------
5 2
範例
Azure Synapse Analytics 和 Analytics Platform System (PDW)
SELECT @@DATEFIRST;