TODATETIMEOFFSET (Transact-SQL)

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

主题链接图标Transact-SQL 语法约定

语法

TODATETIMEOFFSET ( expression , time_zone )

参数

  • expression
    一个解析为 datetime2 值的表达式

    注意注意

    该表达式的类型不能为 text、ntext 或 image,这是因为这些类型无法隐式转换为 varchar 或 nvarchar。

  • time_zone
    一个表示时区偏移量(以分钟为单位)的表达式。范围从 +14 到 -13。该表达式被解释为指定 time_zone 的本地时间。

    注意注意

    如果表达式是字符串,其格式必须为 {+|-}TZH:THM。

返回类型

datetimeoffset. 小数精度与 datetime 参数相同。

示例

A. 更改当前日期和时间的时区偏移量

下面的示例将当前日期和时间的时区偏移量更改为时区 -07:00。

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

B. 更改时区偏移量(以分钟为单位)

下面的示例将当前时区更改为 -120 分钟。

DECLARE @todaysDate Datetime2
SELECT @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