分享方式:


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

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;  

另請參閱

組態函數 (Transact-SQL)