SWITCHOFFSET (Transact-SQL)

返回从存储的时区偏移量变为指定的新时区偏移量时得到的 datetimeoffset 值。

有关所有 Transact-SQL 日期和时间数据类型及函数的概述,请参阅日期和时间函数 (Transact-SQL)。有关日期和时间数据类型及函数共有的信息和示例,请参阅使用日期和时间数据

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

语法

SWITCHOFFSET ( DATETIMEOFFSET, time_zone ) 

参数

  • DATETIMEOFFSET
    是一个可以解析为 datetimeoffset(n) 值的表达式。

  • time_zone
    是一个格式为 [+|-]TZH:TZM 的字符串,或是一个表示时区偏移量的带符号的整数(分钟数),假定它能够感知夏时制并作出相应的调整。

返回类型

具有 DATETIMEOFFSET 参数的小数精度的 datetimeoffset。

注释

使用 SWITCHOFFSET 可选择与最初存储的时区偏移量不同的时区偏移量的 datetimeoffset 值。SWITCHOFFSET 不会更新存储的 time_zone 值。

SWITCHOFFSET 可用于更新 datetimeoffset 列。

示例

下例使用 SWITCHOFFSET 显示与数据库中所存储的值不同的时区偏移量。

CREATE TABLE dbo.test 
    (
    ColDatetimeoffset datetimeoffset
    );
GO
INSERT INTO dbo.test 
VALUES ('1998-09-20 7:45:50.71345 -5:00');
GO
SELECT SWITCHOFFSET (ColDatetimeoffset, '-08:00') 
FROM dbo.test;
GO
--Returns: 1998-09-20 04:45:50.7134500 -08:00
SELECT ColDatetimeoffset
FROM dbo.test;
--Returns: 1998-09-20 07:45:50.7134500 -05:00