TODATETIMEOFFSET (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)

返回从 datetime2 表达式转换的 datetimeoffset 值

Transact-SQL 语法约定

语法

TODATETIMEOFFSET ( datetime_expression , timezoneoffset_expression )  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

datetime_expression
一个解析为 datetime2 值的表达式

注意

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

timezoneoffset_expression
是表示时区偏移量(分钟)(如果为整数)的表达式,例如 -120;或表示小时和分钟数的表达式(如果为字符串),例如“+13.00”。 范围为 +14 到 -14(小时)。 此表达式被解释为指定的 timezoneoffset_expression 的本地时间。

注意

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

返回类型

datetimeoffset。 小数精度与 datetime_expression 参数相同。

示例

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

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

DECLARE @todaysDateTime DATETIME2;  
SET @todaysDateTime = GETDATE();  
SELECT TODATETIMEOFFSET (@todaysDateTime, '-07:00');  
-- RETURNS 2019-04-22 16:23:51.7666667 -07:00  

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

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

SELECT TODATETIMEOFFSET(SYSDATETIME(), -120)
-- RETURNS: 2019-04-22 11:39:21.6986813 -02:00  

C. 添加 13 小时时区偏移量

下面的示例将 13 小时时区偏移量添加到日期和时间。

SELECT TODATETIMEOFFSET(SYSDATETIME(), '+13:00')
-- RETURNS: 2019-04-22 11:39:29.0339301 +13:00

另请参阅

CAST 和 CONVERT (Transact-SQL)
日期和时间数据类型及函数 (Transact-SQL)
AT TIME ZONE (Transact-SQL)