適用於: SQL Server 2025 (17.x)
Azure SQL Database Azure
SQL Managed Instance
SQL database in Microsoft Fabric
CURRENT_DATE Transact-SQL(T-SQL)函式會以日期值回傳當前資料庫系統日期,未包含資料庫時間與時區偏移。
CURRENT_DATE此值源自 資料庫引擎 所運行的底層作業系統。
注意
SYSDATETIME 和 SYSUTCDATE 比 GETDATE 和 GETUTCDATE 具有更高的精確度,以小數秒數有效位數來度量。
SYSDATETIMEOFFSET 函式包含系統時區位移。 您可以將 SYSDATETIME、SYSUTCDATETIME 和 SYSDATETIMEOFFSET 指派給任何日期和時間類型的變數。
此函式是相當於的 ANSI SQL CAST(GETDATE() AS DATE)。 如需詳細資訊,請參閱 GETDATE。
注意
Azure SQL Database 與 Microsoft Fabric 中的 SQL 資料庫支援將預設時區從通用協調時間(UTC)更改。 如果你在 資料庫 或 會話 層級修改時區,這個函式會根據設定的時區值回傳本地時間。 欲了解更多資訊,請參閱 ALTER DATABASE SCOPED CONFIGURATIONTIMESET ZONE。
如需所有 Transact-SQL 日期和時間數據類型和函式的概觀,請參閱 日期和時間 數據類型和函式。
Syntax
CURRENT_DATE
引數
這個函數沒有引數。
傳回類型
date
備註
Transact-SQL 語句可以參考 CURRENT_DATE 任何可以參考 日期 表達式的地方。
CURRENT_DATE 是非決定性函數。 參考此數據行的檢視和表達式無法編製索引。
範例
這些範例會使用傳回目前日期和時間值的系統函式來傳回日期、時間或兩者。 由於這些範例會依序傳回值,因此其小數秒數可能會不同。 傳回的實際值會反映實際執行日期/時間。
A. 取得目前的系統日期和時間
SELECT SYSDATETIME(),
SYSDATETIMEOFFSET(),
SYSUTCDATETIME(),
CURRENT_TIMESTAMP,
GETDATE(),
GETUTCDATE(),
CURRENT_DATE;
結果集如下所示。
SYSDATETIME() 2026-09-01 16:15:37.7418724
SYSDATETIMEOFFSET() 2026-09-01 16:15:37.7418724 -06:00
SYSUTCDATETIME() 2026-09-01 22:15:37.7418724
CURRENT_TIMESTAMP 2026-09-01 16:15:37.740
GETDATE() 2026-09-01 16:15:37.740
GETUTCDATE() 2026-09-01 22:15:37.740
CURRENT_DATE 2026-09-01
B. 取得目前的系統日期
下列範例示範如何將日期和時間值轉換成 日期 數據類型。
SELECT CONVERT (DATE, SYSDATETIME()),
CONVERT (DATE, SYSDATETIMEOFFSET()),
CONVERT (DATE, SYSUTCDATETIME()),
CONVERT (DATE, CURRENT_TIMESTAMP),
CONVERT (DATE, GETDATE()),
CONVERT (DATE, GETUTCDATE()),
CURRENT_DATE;
結果集如下所示。
SYSDATETIME() 2026-09-01
SYSDATETIMEOFFSET() 2026-09-01
SYSUTCDATETIME() 2026-09-01
CURRENT_TIMESTAMP 2026-09-01
GETDATE() 2026-09-01
GETUTCDATE() 2026-09-01
CURRENT_DATE 2026-09-01