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
Övningsinstruktioner
- Bygg ett
DATETIMEOFFSETsom representerar den sista millisekunden innan Y2.038K-problemet inträffar. Förskjutningen ska vara UTC. - Bygg ett
DATETIMEOFFSETsom representerar det ögonblick då enheterna drabbas av Y2.038K-problemet i UTC-tid. Använd sedan operatornAT TIME ZONEför att konvertera det tillEastern 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;