如何在SQL Server中更新列的偏移量?

13

我将一个表中的 DateTime 字段转换为 DateTimeOffset,但现在偏移量自动设置为 +00:00

我需要将这个表的所有 DateTimeOffset 字段更改为 +1:00 的偏移量。

我该如何在更新查询中实现这个目标?

3个回答

12

您可以使用SWITCHOFFSET更改偏移量。如果您不想更改日期,那么您需要从该日期中减去相应的小时数。

SELECT  SWITCHOFFSET(DATEADD(hh, -1, CAST (GETDATE() AS DATETIMEOFFSET)),
                         '+01:00')

日期和时间应保持不变,只需更改偏移量。那么我是这样做的吗? - Fred Fickleberry III

7

您可以使用TODATETIMEOFFSET(datetime,'+01:00')函数。这不会影响日期时间部分。


2
DECLARE @t DATETIMEOFFSET

SELECT @t = Getdate()

SELECT Replace(@t, RIGHT(@t, 6), '+01:00') 

<update tablename set offsetfield = Replace(offsetfield, RIGHT(offsetfield, 6), '+01:00')>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接