вторник, 26 марта 2013 г.

Как добавить к дате и времени временную зону

Пример использования функции TODATETIMEOFFSET. Добавляем в виде временной зоны или в минутах. Исправляем, ошибочно введенную зону

-- TODATETIMEOFFSET ( expression , time_zone )

-- В виде временной зоны

SELECT TODATETIMEOFFSET(GETDATE(),'+04:00') AS "DateTime"

-- В минутах

SELECT TODATETIMEOFFSET(GETDATE(), 240) AS "DateTime"

--DateTime--2013-03-26 20:41:02.477 +04:00--2013-03-26 20:41:02.477 +04:00

GO

-- Как исправить, ошибочно введенную временную зону

DECLARE @DT DATETIMEOFFSET = '2013-03-26 20:34:42.307 +02:00'
SELECT TODATETIMEOFFSET(CAST(@DT AS DATETIME2), '+04:00') AS "DateTime"

--DateTime--2013-03-26 20:34:42.3070000 +04:00