Crie datas e horários com deslocamentos a partir de partes
A função DATETIMEOFFSETFROMPARTS() constrói um DATETIMEOFFSET a partir de valores componentes. Ela tem a maior quantidade de parâmetros de entrada entre as funções de construção de data e hora.
Em 19 de janeiro de 2038 às 03:14:08 UTC (ou seja, 3:14:08 da manhã), vamos vivenciar o problema do Ano 2038 (ou Y2.038K). Esse é o momento em que dispositivos de 32 bits serão redefinidos para a data 1900-01-01. Isso traz o risco de quebrar todo dispositivo de 32 bits que use o tempo POSIX, que é o número de segundos transcorridos desde 1º de janeiro de 1970 à meia-noite UTC.
Este exercício faz parte do curso
Análise de Séries Temporais no SQL Server
Instruções do exercício
- Construa um
DATETIMEOFFSETque represente o último milissegundo antes de o problema Y2.038K acontecer. O deslocamento deve ser UTC. - Construa um
DATETIMEOFFSETque represente o momento em que os dispositivos enfrentam o problema Y2.038K em horário UTC. Em seguida, use o operadorAT TIME ZONEpara converter isso paraEastern Standard Time.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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;