TODATETIMEOFFSET (Transact-SQL)
傳回 datetimeoffset 值,此值是從 datetime2 運算式轉譯而來。
適用於:SQL Server (SQL Server 2008 透過目前版本)、Windows Azure 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