TSQL: Как преобразовать местное время в UTC? (SQL Server 2008)

Если это - бизнес-веб-сайт (или серьезный сайт, где важно, чтобы это на самом деле работало над IE), то не следуйте дешевым маршрутом - вкладывают капитал в машину Windows или два. Ваши клиенты поблагодарят Вас.

Иначе, виртуализировать.

72
задан marc_s 7 February 2015 в 13:11
поделиться

3 ответа

SQL Server 2008 имеет тип, называемый datetimeoffset . Это действительно полезно для такого рода вещей.

http://msdn.microsoft.com/en-us/library/bb630289.aspx

Затем вы можете использовать функцию SWITCHOFFSET , чтобы переместить его из одного часового пояса в другой, но при этом сохраняется то же значение UTC.

http://msdn.microsoft.com/en-us/library/bb677244.aspx

Роб

14
ответ дан 24 November 2019 в 12:35
поделиться

Вы можете использовать функцию GETUTCDATE (), чтобы получить дату и время в формате UTC. Вероятно, вы можете выбрать разницу между GETUTCDATE () и GETDATE () и использовать это различие для корректировки дат в формате UTC

. Но я согласен с предыдущим сообщением, что намного проще контролировать правильное datetime на бизнес-уровне (в .NET , например).

2
ответ дан 24 November 2019 в 12:35
поделиться

Да, в некоторой степени, как подробно описано здесь .
Подход, который я использовал (до 2008 г.), заключается в выполнении преобразования в бизнес-логике .NET перед вставкой в ​​БД.

3
ответ дан 24 November 2019 в 12:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: