시작하기무료로 시작하기

가져온 데이터를 시간대가 포함된 날짜로 변환하기

이제 세 가지 타입 안전 변환 함수를 살펴봤으니, 실제 데이터셋에 적용해 보겠습니다. 이번 시나리오에서는 dbo.ImportedTime 테이블에서 데이터를 파싱합니다. 이 테이블에는 다른 애플리케이션을 사용해 데이터를 적재했으며, 이전 연습 문제에서 확인했습니다. 이번에는 가져오기 애플리케이션이 유효하다고 표시한 행만이 아니라 모든 행의 데이터를 가져오겠습니다.

이 연습은 강의의 일부입니다

SQL Server에서의 시계열 분석

강의 보기

연습 안내

  • EventDates 공통 테이블 식에서 누락된 TRY_XXX() 함수명을 채우세요.
  • EventDateOffset 이벤트 날짜를 'UTC'로 변환하세요. 이 출력은 EventDateUTC라고 하세요.
  • AT TIME ZONE을 사용해 EventDateOffset 이벤트 날짜를 'US Eastern Standard Time'으로 변환하세요. 이 출력은 EventDateUSEast라고 하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

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;
코드 편집 및 실행