我正在移动当前存储为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吗?我希望保持第一个查询中的时间不变。
发布于 2013-03-31 21:35:25
我无法重现这种行为(即使是在不同时区的两个Servers ),所以这可能不是您想要的,但您可以在复制数据后通过使用函数ToDateTimeOffset更新StartTimeDate列来“修复”TZ偏移量( "+01:00"):
UPDATE the_table SET StartTimeDate = TODATETIMEOFFSET(StartTimeDate, 0)这将保持日期和时间不变,同时将偏移量调整为指定的1 (0,因为您希望它将TZ从+1“调整”为0)。
https://stackoverflow.com/questions/15729479
复制相似问题