Mulai sekarangMulai gratis

Konversi data impor ke tanggal dengan zona waktu

Sekarang setelah kita melihat tiga fungsi konversi yang type-safe, kita dapat mulai menerapkannya pada himpunan data nyata. Dalam skenario ini, kita akan mengurai data dari tabel dbo.ImportedTime. Kita menggunakan aplikasi lain untuk memuat data ke tabel ini dan telah meninjaunya di latihan sebelumnya. Kali ini, kita akan mengambil data untuk semua baris, bukan hanya yang ditandai valid oleh aplikasi impor.

Latihan ini merupakan bagian dari kursus

Analisis Deret Waktu di SQL Server

Lihat Kursus

Instruksi latihan

  • Lengkapi nama fungsi TRY_XXX() yang hilang di dalam common table expression EventDates.
  • Konversi tanggal kejadian EventDateOffset ke 'UTC'. Beri nama keluaran ini EventDateUTC.
  • Konversi tanggal kejadian EventDateOffset ke 'US Eastern Standard Time' menggunakan AT TIME ZONE. Beri nama keluaran ini EventDateUSEast.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

WITH EventDates AS
(
    SELECT
        -- Fill in the missing try-conversion function
        ___(DATETIME2(3), it.EventDate) AT TIME ZONE it.TimeZone AS EventDateOffset,
        it.TimeZone
    FROM dbo.ImportedTime it
        INNER JOIN sys.time_zone_info tzi
			ON it.TimeZone = tzi.name
)
SELECT
    -- Fill in the approppriate event date to convert
	CONVERT(NVARCHAR(50), ed.EventDateOffset) AS EventDateOffsetString,
	CONVERT(DATETIME2(0), ed.EventDateOffset) AS EventDateLocal,
	ed.TimeZone,
    -- Convert from a DATETIMEOFFSET to DATETIME at UTC
	CAST(ed.EventDateOffset AT TIME ZONE '___' AS DATETIME2(0)) AS EventDateUTC,
    -- Convert from a DATETIMEOFFSET to DATETIME with time zone
	CAST(ed.EventDateOffset ___ ___ ___ 'US Eastern Standard Time'  AS DATETIME2(0)) AS EventDateUSEast
FROM EventDates ed;
Edit dan Jalankan Kode