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

时间:2015-11-25 09:14:29

标签: sql sql-server datetimeoffset

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

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

如何在更新查询中执行此操作?

3 个答案:

答案 0 :(得分:10)

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

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

答案 1 :(得分:5)

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

答案 2 :(得分: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')>