@@DATEFIRST (Transact-SQL)
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric 的 SQL 端點分析 Microsoft Fabric 的倉儲
此函式會傳回特定工作階段之 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;