Construire des dates et heures avec décalages à partir des composantes
La fonction DATETIMEOFFSETFROMPARTS() construit un DATETIMEOFFSET à partir de valeurs de composantes. C'est celle qui comporte le plus grand nombre de paramètres d'entrée parmi les fonctions de création de date et d'heure.
Le 19 janvier 2038 à 03:14:08 UTC (soit 3 h 14 min 8 s), nous vivrons le bogue de l'an 2038 (ou Y2.038K). À cet instant, les appareils 32 bits se réinitialiseront à la date 1900-01-01. Cela risque de briser tous les appareils 32 bits qui utilisent l'heure POSIX, c'est-à-dire le nombre de secondes écoulées depuis le 1er janvier 1970 à minuit UTC.
Cette activité fait partie du cours
Analyse de séries chronologiques dans SQL Server
Instructions de l’exercice
- Construisez un
DATETIMEOFFSETqui représente la dernière milliseconde avant que le problème Y2.038K ne survienne. Le décalage doit être en UTC. - Construisez un
DATETIMEOFFSETqui représente le moment où les appareils rencontrent le problème Y2.038K en heure UTC. Utilisez ensuite l'opérateurAT TIME ZONEpour le convertir enEastern Standard Time.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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;