Kom igångKom igång gratis

Bygg datum och tider med förskjutningar från delar

Funktionen DATETIMEOFFSETFROMPARTS() bygger ett DATETIMEOFFSET-värde från enskilda komponenter. Den har flest indataparametrar av alla funktioner för att bygga datum och tider.

Den 19 januari 2038 klockan 03:14:08 UTC kommer vi att uppleva år 2038-problemet (eller Y2.038K). Det är det ögonblick då 32-bitarsenheter återställs till datumet 1900-01-01. Detta riskerar att slå ut alla 32-bitarsenheter som använder POSIX-tid – det vill säga antalet sekunder som förflutit sedan den 1 januari 1970 vid midnatt UTC.

Den här övningen är en del av kursen

Tidsserieanalys i SQL Server

Visa kurs

Övningsinstruktioner

  • Bygg ett DATETIMEOFFSET som representerar den sista millisekunden innan Y2.038K-problemet inträffar. Förskjutningen ska vara UTC.
  • Bygg ett DATETIMEOFFSET som representerar det ögonblick då enheterna drabbas av Y2.038K-problemet i UTC-tid. Använd sedan operatorn AT TIME ZONE för att konvertera det till Eastern Standard Time.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

SELECT
	-- Fill in the millisecond PRIOR TO chaos
	DATETIMEOFFSETFROMPARTS(2038, ___, ___, ___, ___, 07, 999, 0, 0, 3) AS LastMoment,
    -- Fill in the date and time when we will experience the Y2.038K problem
    -- Then convert to the Eastern Standard Time time zone
	DATETIMEOFFSETFROMPARTS(2038, ___, ___, ___, ___, 08, 0, 0, 0, 3) AT TIME ZONE '___ ___ ___' AS TimeForChaos;
Redigera och kör kod