Konvertera till ett datumsoffset
Förutom SWITCHOFFSET() kan vi använda TODATETIMEOFFSET() för att omvandla ett befintligt datum till en datumtyp med offset. Om starttiden är i UTC behöver vi justera för tidszonen och sedan lägga till en offset. För att justera tidszonen kan vi addera eller subtrahera timmar (och minuter) manuellt.
Avslutningsceremonin för sommar-OS 2016 i Rio de Janeiro började klockan 23:00 UTC den 21 augusti 2016. Med en sträng som innehåller det datumet och den tiden kan vi se vad klockan var på andra platser. I Phoenix, Arizona, gäller Mountain Standard Time, det vill säga UTC -7 året runt. Inselgruppen Tuvalu har sin egen tidszon, som ligger 12 timmar före UTC.
Den här övningen är en del av kursen
Tidsserieanalys i SQL Server
Övningsinstruktioner
- Fyll i tiden i Phoenix, Arizona, som följer Mountain Standard Time och därmed har UTC -07:00.
- Fyll i tiden för Tuvalu, som ligger 12 timmar före UTC.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
DECLARE
@OlympicsClosingUTC DATETIME2(0) = '2016-08-21 23:00:00';
SELECT
-- Fill in 7 hours back and a '-07:00' offset
___(DATEADD(HOUR, -___, @OlympicsClosingUTC), '___') AS PhoenixTime,
-- Fill in 12 hours forward and a '+12:00' offset.
___(DATEADD(HOUR, ___, @OlympicsClosingUTC), '___') AS TuvaluTime;