Construire des dates et heures avec décalage à partir de composants
La fonction DATETIMEOFFSETFROMPARTS() construit un DATETIMEOFFSET à partir de valeurs composants. C’est celle qui accepte le plus grand nombre de paramètres parmi les fonctions de construction de date et d’heure.
Le 19 janvier 2038 à 03:14:08 UTC (soit 3:14:08 du matin), nous rencontrerons le problème de l’an 2038 (ou Y2.038K). À cet instant, les appareils 32 bits reviendront à la date 1900-01-01. Cela risque de casser tous les appareils 32 bits utilisant le temps POSIX, qui est le nombre de secondes écoulées depuis le 1er janvier 1970 à minuit UTC.
Cet exercice fait partie du cours
<cours>Analyse de séries temporelles dans SQL Server</cours>Instructions de l’exercice
- Construisez un
DATETIMEOFFSETreprésentant la dernière milliseconde avant que le problème Y2.038K ne se produise. Le décalage doit être en UTC. - Construisez un
DATETIMEOFFSETreprésentant l’instant où les appareils rencontrent le problème Y2.038K en temps 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;