共用方式為


TODATETIMEOFFSET (Transact-SQL)

傳回 datetimeoffset 值,此值是從 datetime2 運算式轉譯而來。

適用於:SQL Server (SQL Server 2008 透過目前版本)、Windows Azure SQL 資料庫 (初始版本,透過目前版本)。

主題連結圖示 Transact-SQL 語法慣例

語法

TODATETIMEOFFSET ( expression , time_zone )

引數

  • expression
    這是解析為 datetime2 值的運算式

    注意

    此運算式不能是 text、ntext 或 image 類型,因為這些類型無法隱含地轉換成 varchar 或 nvarchar。

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

    注意

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

傳回類型

datetimeoffset. 小數有效位數與 datetime 引數相同。

範例

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

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

DECLARE @todaysDateTime datetime2;
SET @todaysDateTime = GETDATE();
SELECT TODATETIMEOFFSET (@todaysDateTime, '-07:00');
-- RETURNS 2007-08-30 15:51:34.7030000 -07:00

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

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

DECLARE @todaysDate datetime2;
SET @todaysDate = GETDATE();
SELECT TODATETIMEOFFSET (@todaysDate, -120);
-- RETURNS 2007-08-30 15:52:37.8770000 -02:00

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

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

DECLARE @dateTime datetimeoffset(7)= '2007-08-28 18:00:30';
SELECT TODATETIMEOFFSET (@dateTime, '+13:00');
-- RETURNS 2007-08-28 18:00:30.0000000 +13:00

請參閱

參考

CAST 和 CONVERT (Transact-SQL)

日期和時間資料類型與函數 (Transact-SQL)