TODATETIMEOFFSET (Transact-SQL)

返回从 datetime2 表达式转换而来的一个 datetimeoffset 值。

主题链接图标 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)