SWITCHOFFSET (Transact-SQL)
返回从存储的时区偏移量变为指定的新时区偏移量时得到的 datetimeoffset 值。
有关所有 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