CommencerCommencez gratuitement

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>
Voir le cours

Instructions de l’exercice

  • Construisez un DATETIMEOFFSET représentant la dernière milliseconde avant que le problème Y2.038K ne se produise. Le décalage doit être en UTC.
  • Construisez un DATETIMEOFFSET représentant l’instant où les appareils rencontrent le problème Y2.038K en temps 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