Передача данных между серверами SQL в разных часовых поясах - PullRequest
2 голосов
/ 25 ноября 2011

Я передаю данные с одного SQL Server на другой, используя оператор SELECT * INTO .... (в Management Studio). Обе базы данных имеют разные настройки часового пояса.

Можно ли автоматически настроить все поля даты / времени на разные часовые пояса? Может быть, какие-то параметры запроса или настройки соединения?

Ответы [ 2 ]

1 голос
/ 25 ноября 2011

Поскольку вы работаете в SQL Server 2008, вы можете использовать встроенную функциональность DATETIMEOFFSET тип данных и функцию SWITCHOFFSET.

Вы можете сделать что-то вроде:

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

TODATETIMEOFFSET преобразует вашу "обычную" дату без какой-либо информации о часовом поясе в тип DATETIMEOFFSET с часовым поясом (вашего исходного местоположения), а затем вы можете применить вызов SWITCHOFFSETна это значение, чтобы «переключить» свою дату / время на часовой пояс целевого местоположения.

Это можно сделать в рамках оператора INSERT....SELECT - отдельное «построчное» обновление не требуется.

0 голосов
/ 25 ноября 2011

Я думаю, что это будет полезно, перейдите по ссылке:

Эффективное преобразование дат между временем UTC и местным (т. Е. PST) временем в SQL 2005

В ближайшее времяВам нужно создать таблицы часовых поясов и DST, чтобы получить некоторую помощь по часовым поясам.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...