2017-11-20 7 views
1

US/Pacific 시간대의 DATETIME 열이 있지만 그 자체로는 인코딩되지 않습니다. Azure SQL 데이터웨어 하우스에서 이것을 어떻게 UTC 시간대로 변환 할 수 있습니까?Azure SQL 데이터웨어 하우스의 시간대 변환

AT DATETIME T-SQL 함수가 가장 적합하지만 Azure SQL 데이터웨어 하우스에서 지원되지 않습니다. 예 : 한 레코드의 DATETIME은 2013-04-02 08:02:47.000000입니다. 변환 후 2013-04-02 15:02:47.000000이어야합니다.

답변

1

로 (HH, 8, @mydate) DATEADD 선택 '미국/태평양'I TODATETIMEOFFSET()을 사용하여 특정 오프셋을 데이터에 추가하십시오. DATETIMEOFFSET 유형으로 저장되면 서버에서 UTC 시간으로 처리되지만 시간대 오프셋을 계속 사용할 수 있습니다.

SELECT TODATETIMEOFFSET(time_in_pt, '-08:00') as time_with_pt_timezone ...

https://docs.microsoft.com/en-us/sql/t-sql/functions/todatetimeoffset-transact-sql

0

상황에 따라 대답하기가 조금 어렵지만, cast or convert 당신이 원하는 유형의 열 date/time을 입력 할 수 있다고 생각합니다. 시간대에 대한 설명은 문맥이 부족함에도 불구하고 말하기 어렵습니다.

0

현재 (겨울철) 우리는 태평양 표준시로 UTC - 8 시간입니다. 따라서 2013-04-02 08 : 02 : 47.000000을 UTC로 변환하면 2013-04-02 16 : 02 : 47.0000000 값이됩니다.

선언 @mydate DATETIME2 = '2013년 4월 2일 08 : 02 : 47.000000'내 데이터에 저장되어 있기 때문에 utcdate