不同时区的SQL server之间的数据传输



我使用SELECT * INTO ....语句从一个SQL Server传输数据到另一个SQL Server(在Management Studio中)。两个数据库有不同的时区设置。

是否可以自动调整所有日期/时间字段到不同的时区?也许是一些查询参数或连接设置?

由于您使用的是SQL Server 2008,您可以使用DATETIMEOFFSET数据类型的内置功能,以及SWITCHOFFSET函数。

你可以这样做:

INSERT INTO dbo.YourTargetTable( ...... )
   SELECT
        SWITCHOFFSET(TODATETIMEOFFSET(YourSourceTime, '+04:00'), '-09:00'),
       .......

TODATETIMEOFFSET将没有任何时区信息的"常规"日期转换为具有时区(您的源位置)的DATETIMEOFFSET类型,然后您可以应用SWITCHOFFSET调用该值以"切换"您的日期/时间到目标位置的时区。

这可以在INSERT....SELECT语句的范围内完成-不需要单独的"逐行"更新

我想这将是有帮助的,请点击链接:

有效地在UTC和本地之间转换日期。SQL 2005中的PST时间

简单地说,您确实需要构建时区和DST表来获得时区的一些帮助。

谢谢

相关内容

  • 没有找到相关文章

最新更新