TSQL, конвертирующий DateOffset в UTC - PullRequest
0 голосов
/ 22 июня 2011

Я пытаюсь преобразовать datetimeOffset, хранящийся в SQL Azure, в UTC DateTime, чтобы я мог выполнить надлежащие вычисления.

DateTimeOffset сохраняется как локальное время Новой Зеландии как:

2011-05-31 21: 40: 00.0000000 +10: 00

Мне нужно преобразовать вышеуказанные значения в UTC, чтобы я мог выполнить расчет даты и времени.Есть ли способ добиться этого с помощью TSQL и Azure SSRS?

Спасибо, куча.

1 Ответ

1 голос
/ 22 июня 2011

Вот еще один поток, который может дать вам несколько идей: TSQL: Как преобразовать местное время в UTC? (SQL Server 2008)

Вдобавок ко мне, если вы знаете, что дата, с которой вы работаете, из Новой Зеландии, вы знаете, что такое смещение UTC. Он должен основываться на одном из двух значений (если они имеют летнее время).

Так что сделайте dateadd с вызовом функции, который определяет, находитесь ли вы в переходе на летнее время или нет. Как вы определяете, есть ли у вас переход на летнее время на данную дату? Хороший вопрос. Если нет функции .NET, которую вы могли бы превратить в функцию CLR, я просто создал бы справочную таблицу и функцию, которая проверяет это. Функция возвращает логическое значение или правильное смещение для Новой Зеландии.

Я бы сохранил новое производное значение в новом столбце, но я не уверен, каковы ваши потребности.

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