TODATETIMEOFFSET (Transact-SQL)
返回从 datetime2 表达式转换而来的一个 datetimeoffset 值。
语法
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