Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 перевод UTC времени в местное с учетом летне-зимнего перехода  [new]
Idol_111
Member

Откуда:
Сообщений: 598
Как это сделать? (хотя бы на SQL 2008)
3 сен 09, 02:59    [7611049]     Ответить | Цитировать Сообщить модератору
 Re: перевод UTC времени в местное с учетом летне-зимнего перехода  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Вот, например, была похожая тема
3 сен 09, 08:57    [7611216]     Ответить | Цитировать Сообщить модератору
 Re: перевод UTC времени в местное с учетом летне-зимнего перехода  [new]
Idol_111
Member

Откуда:
Сообщений: 598
iap
Вот, например, была похожая тема

Большое спасибо, я почему то не нашел.
3 сен 09, 09:18    [7611253]     Ответить | Цитировать Сообщить модератору
 Re: перевод UTC времени в местное с учетом летне-зимнего перехода  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Idol_111
iap
Вот, например, была похожая тема

Большое спасибо, я почему то не нашел.
Сейчас я бы, кстати, по-другому написал:
SELECT
 CASE
  WHEN GETUTCDATE()<DATEADD(DAY,-DATEDIFF(DAY,0, STR(YEAR(GETUTCDATE()))+'0401')%7-2, STR(YEAR(GETUTCDATE()))+'0401 23:00')
  THEN DATEADD(HOUR,3, GETUTCDATE())
  WHEN GETUTCDATE()<DATEADD(DAY,-DATEDIFF(DAY,0, STR(YEAR(GETUTCDATE()))+'1101')%7-2, STR(YEAR(GETUTCDATE()))+'1101 23:00')
  THEN DATEADD(HOUR,4, GETUTCDATE())
  ELSE DATEADD(HOUR,3, GETUTCDATE())
 END
Во-первых, в случае, если это будет применяться для конкретнго времени, а не GETUTCDATE(),
такой запрос можно, например, поместить в детерминированную функцию (DATENAME этому препятствует).
Во-вторых, здесь короче способ определения последней субботы месяца.
3 сен 09, 09:31    [7611292]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить