分享方式:


GETUTCDATE (Transact-SQL)

適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric 的 SQL 端點分析 Microsoft Fabric 的倉儲

將目前的資料庫系統時間戳記作為 datetime 值傳回。 不包含資料庫時區位移。 這個值代表目前 UTC 時間 (國際標準時間)。 這個值是從執行 SQL Server 執行個體的電腦作業系統得來的。

注意

SYSDATETIME 和 SYSUTCDATETIME 比 GETDATE 和 GETUTCDATE 具有更多小數秒數有效位數。 SYSDATETIMEOFFSET 包含系統時區位移。 SYSDATETIME、SYSUTCDATETIME 和 SYSDATETIMEOFFSET 可指派給任何日期和時間類型的變數。

如需所有 Transact-SQL 日期和時間資料類型與函式的概觀,請參閱日期和時間資料類型與函式 (Transact-SQL)

Transact-SQL 語法慣例

語法

GETUTCDATE()

傳回型別

datetime

備註

只要是 Transact-SQL 陳述式可以參考 datetime 運算式的任何位置,其就可以參考 GETUTCDATE。

GETUTCDATE 是不具決定性的函數。 在資料行中參考這個函數的檢視表和運算式無法編製索引。

範例

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

A. 取得目前的系統日期和時間

SELECT 'SYSDATETIME()      ', SYSDATETIME();  
SELECT 'SYSDATETIMEOFFSET()', SYSDATETIMEOFFSET();  
SELECT 'SYSUTCDATETIME()   ', SYSUTCDATETIME();  
SELECT 'CURRENT_TIMESTAMP  ', CURRENT_TIMESTAMP;  
SELECT 'GETDATE()          ', GETDATE();  
SELECT 'GETUTCDATE()       ', GETUTCDATE();  

結果集:

 SYSDATETIME()         2007-05-03 18:34:11.9351421   
 SYSDATETIMEOFFSET()   2007-05-03 18:34:11.9351421 -07:00   
 SYSUTCDATETIME()      2007-05-04 01:34:11.9351421   
 CURRENT_TIMESTAMP     2007-05-03 18:34:11.933   
 GETDATE()             2007-05-03 18:34:11.933   
 GETUTCDATE()          2007-05-04 01:34:11.933  

B. 取得目前的系統日期

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

結果集:

 SYSDATETIME()        2007-05-03  
 SYSDATETIMEOFFSET()  2007-05-03  
 SYSUTCDATETIME()     2007-05-04  
 CURRENT_TIMESTAMP    2007-05-03  
 GETDATE()            2007-05-03  
 GETUTCDATE()         2007-05-04  

C. 取得目前的系統時間

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

結果集:

 SYSDATETIME()        18:25:01.6958841
 SYSDATETIMEOFFSET()  18:25:01.6958841
 SYSUTCDATETIME()     01:25:01.6958841
 CURRENT_TIMESTAMP    18:25:01.6930000
 GETDATE()            18:25:01.6930000
 GETUTCDATE()         01:25:01.6930000