Kom igångKom igång gratis

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

Visa kurs

Ö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;
Redigera och kör kod