Как получить переменную datetime со значением 00-00 и месяц назад с заданным часовым поясом? - PullRequest
0 голосов
/ 24 июня 2010

Я ищу помощь для выполнения следующей задачи в T-SQL: У меня есть часовой пояс, и мне нужно рассчитать время в формате UTC, которое является текущей датой минус один месяц, но в данном часовом поясе 0 часов и 0 минут.

Ответы [ 2 ]

0 голосов
/ 24 июня 2010

SQL Server 2008 и более поздние версии предоставляют тип datetimeoffset, который включает часовой пояс. Вы можете изменить часовой пояс, используя функцию SWITCHOFFSET, чтобы изменить часовой пояс, и функцию DATEADD, чтобы добавить -1 месяц к результирующему значению. Затем вы можете преобразовать в тип DATE, чтобы исключить временную часть.

select cast(DATEADD(month,-1,todatetimeoffset(GETUTCDATE(),'+02:00')) as DATE)
0 голосов
/ 24 июня 2010

Это то, что вам нужно?

Select Cast(Floor(Cast(DateAdd(month, -1, getutcdate()) as float)) as datetime)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...