CURRENT_TIMESTAMP(Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsMicrosoft Fabric 中的 SQL 分析端點Microsoft Fabric 中的倉庫Microsoft Fabric 中的 SQL 資料庫

CURRENT_TIMESTAMP Transact-SQL(T-SQL)函式會以日期時間值回傳當前資料庫系統的時間戳記,而不包含資料庫時區偏移量。 CURRENT_TIMESTAMP 會從執行 SQL Server 執行個體之電腦的作業系統衍生此值。

注意

SYSDATETIME 和 SYSUTCDATE 比 GETDATE 和 GETUTCDATE 具有更高的精確度,以小數秒數有效位數來度量。 SYSDATETIMEOFFSET 函式包含系統時區位移。 您可以將 SYSDATETIME、SYSUTCDATETIME 和 SYSDATETIMEOFFSET 指派給任何日期和時間類型的變數。

這個函式是相當於 GETDATE 的 ANSI SQL。

注意

Azure SQL Database 與 Microsoft Fabric 中的 SQL 資料庫支援將預設時區從通用協調時間(UTC)更改。 如果你在 資料庫 或 會話 層級修改時區,這個函式會根據設定的時區值回傳本地時間。 欲了解更多資訊,請參閱 ALTER DATABASE SCOPED CONFIGURATIONTIMESET ZONE。

如需所有 Transact-SQL 日期和時間數據類型和函式的概觀,請參閱 日期和時間 數據類型和函式。

Transact-SQL 語法慣例

語法

CURRENT_TIMESTAMP

引數

這個函數沒有引數。

傳回類型

datetime

備註

舉凡 Transact-SQL 可以參考 CURRENT_TIMESTAMP 運算式之處,都能參考 。

CURRENT_TIMESTAMP 是非決定性函數。 你無法索引引用此欄位的檢視和表達式。

範例

這些範例使用六個可傳回目前日期和時間值的 SQL Server 系統函數傳回日期、時間或這兩者。 由於這些範例會依序傳回值,因此其小數秒數可能會不同。 實際回傳的數值反映的是執行的實際日期與時間。

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

C. 取得目前的系統時間

SELECT CONVERT (TIME, SYSDATETIME()),
       CONVERT (TIME, SYSDATETIMEOFFSET()),
       CONVERT (TIME, SYSUTCDATETIME()),
       CONVERT (TIME, CURRENT_TIMESTAMP),
       CONVERT (TIME, GETDATE()),
       CONVERT (TIME, GETUTCDATE());

結果如下。

SYSDATETIME()        16:15:37.7418724
SYSDATETIMEOFFSET()  16:15:37.7418724
SYSUTCDATETIME()     22:15:37.7418724
CURRENT_TIMESTAMP    16:15:37.740
GETDATE()            16:15:37.740
GETUTCDATE()         22:15:37.740

範例:Azure Synapse Analytics

SELECT CURRENT_TIMESTAMP;