TODATETIMEOFFSET (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

傳回從 datetime2 運算式翻譯的 datetimeoffset 值。

Transact-SQL 語法慣例

Syntax

TODATETIMEOFFSET ( datetime_expression , timezoneoffset_expression )  

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

引數

datetime_expression
為解析為 datetime2 值的運算式

注意

運算式的類型不可為 textntextimage,因為這些類型不可隱含轉換成 varcharnvarchar

timezoneoffset_expression
這是代表時區時差的運算式,以分鐘為單位 (若為整數),例如 -120,或以小時和分鐘為單位 (若為字串),例如 '+13:00'。 範圍是 +14 到 -14 (以小時為單位)。 此運算式會針對指定的 timezoneoffset_expression,解譯為當地時間。

注意

如果運算式為字元字串,它的格式必須為 {+|-}TZH:THM。

傳回類型

datetimeoffset. 毫秒精確度與 datetime_expression 引數相同。

範例

A. 變更目前日期和時間的時區時差

下列範例會將目前日期和時間的時區時差變更為 -07:00 時區。

DECLARE @todaysDateTime DATETIME2;  
SET @todaysDateTime = GETDATE();  
SELECT TODATETIMEOFFSET (@todaysDateTime, '-07:00');  
-- RETURNS 2019-04-22 16:23:51.7666667 -07:00  

B. 變更時區時差 (以分鐘為單位)

下列範例會將目前的時區變更為 -120 分鐘。

SELECT TODATETIMEOFFSET(SYSDATETIME(), -120)
-- RETURNS: 2019-04-22 11:39:21.6986813 -02:00  

C. 在時區時差中增加 13 小時的時間

下列範例會在日期和時間中加入 13 小時的時區時差。

SELECT TODATETIMEOFFSET(SYSDATETIME(), '+13:00')
-- RETURNS: 2019-04-22 11:39:29.0339301 +13:00

另請參閱

CAST 和 CONVERT (Transact-SQL)
日期和時間資料類型與函數 (Transact-SQL)
AT TIME ZONE (Transact-SQL)