我使用SELECT * INTO ....
语句(在管理工具中)将数据从一个SQL Server传输到另一个。两个数据库具有不同的时区设置。
是否可以自动调整所有日期/时间字段以适应不同的时区?也许有一些查询参数或连接设置可以实现?
我使用SELECT * INTO ....
语句(在管理工具中)将数据从一个SQL Server传输到另一个。两个数据库具有不同的时区设置。
是否可以自动调整所有日期/时间字段以适应不同的时区?也许有一些查询参数或连接设置可以实现?
由于您使用的是SQL Server 2008,您可以使用内置的DATETIMEOFFSET
数据类型和SWITCHOFFSET
函数。
您可以尝试以下操作:
INSERT INTO dbo.YourTargetTable( ...... )
SELECT
SWITCHOFFSET(TODATETIMEOFFSET(YourSourceTime, '+04:00'), '-09:00'),
.......
TODATETIMEOFFSET
将你的 “普通” 日期转换为带有时区(源位置的时区)的 DATETIMEOFFSET
类型,然后你可以对该值应用 SWITCHOFFSET
调用来将你的日期/时间 “切换” 到目标位置的时区。
这可以在 INSERT....SELECT
语句的范围内完成 - 不需要单独的“逐行”更新。