CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Construisez un DATETIMEOFFSET qui représente la dernière milliseconde avant que le problème Y2.038K ne survienne. Le décalage doit être en UTC.
  • Construisez un DATETIMEOFFSET qui représente le moment où les appareils rencontrent le problème Y2.038K en heure UTC. Utilisez ensuite l'opérateur AT TIME ZONE pour le convertir en Eastern 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;
Modifier et exécuter le code