Comment faire pour convertir le format de datetime offsetted sql en défaut?

Je compense une colonne pour la différence de timezone. Comment convertir le datetime renvoyé en valeur par défaut, maintenant qu'il est affiché avec des informations de décalage dans la colonne?

,SWITCHOFFSET(CAST(CREATEDDATETIME AS datetimeoffset) ,DATEDIFF(minute, GETUTCDATE(), GETDATE())) AS CREATEDDATETIMEPDT 2014-07-01 16:44:15.000 2014-07-01 08:44:15.0000000 -08:00 

Si je comprends bien, vous avez un time "local" converti en heure UTC et vous voulez revenir à l'heure locale? Cela démontre une façon.

 select Dateadd(minute,datepart(TZoffset, CREATEDDATETIMEPDT), convert(datetime,CREATEDDATETIMEPDT)) as LocalTime from (select SWITCHOFFSET( CAST(Getdate() AS datetimeoffset) 
,DATEDIFF(minute, GETUTCDATE(), GETDATE()) ) AS CREATEDDATETIMEPDT ) UTC

Pour get à partir d'une date stockée comme UTC datetime à l'heure locale, je pense que vous étiez assez proche

 select SWITCHOFFSET( CAST(YourStoredDateTime AS datetimeoffset),DATEDIFF(minute, GETUTCDATE(), GETDATE())) AS CREATEDDATETIMEPDT 

puis utilisez dateadd () comme je l'ai fait ci-dessus.