【问题标题】:DateTimeOffset value changingDateTimeOffset 值变化
【发布时间】:2013-03-31 12:42:47
【问题描述】:

我正在移动当前存储为 int to DateTimeOffset 的数据。

这里的示例是起始值 1341190841,当我使用此查询时:

dateadd  (s,Call.StartTime, '1970-01-01') AS StartTimeDate

它返回正确的值2012-07-02 01:00:41.000。但是我使用 SSIS 将数据从一个数据库移动到另一个数据库,当数据在新表中时,StartTimeDate 现在看起来像这样2012-07-02 01:00:41.0000000 +01:00

有人知道如何删除 +01:00 吗?我想保持第一次查询中的时间。

【问题讨论】:

    标签: sql-server ssis datetimeoffset


    【解决方案1】:

    我无法重现该行为(即使两个 SQL Server 位于不同的时区),因此这可能不是您想要的,但您可以“修复”TZ 偏移量(“+01:00” ) 复制数据后,使用函数ToDateTimeOffset 更新StartTimeDate 列,如下所示:

    UPDATE the_table SET StartTimeDate = TODATETIMEOFFSET(StartTimeDate, 0)
    

    这将使日期和时间保持不变,同时将偏移量调整为指定的值(0,因为您希望它将 TZ 从 +1“调整”为 0)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-07
      • 2013-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多