【问题标题】:How do I update a column's offset in SQL Server?如何在 SQL Server 中更新列的偏移量?
【发布时间】:2016-02-28 00:09:08
【问题描述】:

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

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

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

【问题讨论】:

    标签: sql sql-server datetimeoffset


    【解决方案1】:

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

    SELECT  SWITCHOFFSET(DATEADD(hh, -1, CAST (GETDATE() AS DATETIMEOFFSET)),
                             '+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')>
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2010-09-16
        • 1970-01-01
        • 1970-01-01
        • 2013-02-09
        • 1970-01-01
        • 2014-07-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多