ПочатиПочніть безкоштовно

Побудова дат і часу зі зсувами з частин

Функція DATETIMEOFFSETFROMPARTS() створює DATETIMEOFFSET з компонентних значень. Вона має найбільшу кількість вхідних параметрів серед усіх функцій побудови дат і часу.

19 січня 2038 року о 03:14:08 UTC (тобто о 3:14:08 ранку) настане проблема 2038 року (або Y2.038K). У цей момент 32-бітні пристрої скинуться на дату 1900-01-01. Існує ризик виходу з ладу кожного 32-бітного пристрою, що використовує час POSIX, тобто кількість секунд, що минули від півночі 1 січня 1970 року за UTC.

Ця вправа є частиною курсу

Аналіз часових рядів у SQL Server

Переглянути курс

Інструкції до вправи

  • Побудуйте DATETIMEOFFSET, який відповідає останній мілісекунді перед настанням проблеми Y2.038K. Зсув має бути UTC.
  • Побудуйте DATETIMEOFFSET, який відповідає моменту виникнення проблеми Y2.038K за часом UTC. Потім використайте оператор AT TIME ZONE, щоб перетворити це на Eastern Standard Time.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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;
Редагувати та запускати код