BigQuery에서 UTC를 한국표준시(KST)로 변환하기

phillip oh·2020년 4월 13일
3

BigQuery

목록 보기
1/2
  • BigQuery에서 UTC를 한국표준시(KST)로 변환하는 방법에 관한 글입니다.

배경

  • BigQuery는 기본적으로 UTC를 사용함.
  • 한국표준시(KST)는 UTC와 9시간 차이.
  • 따라서 UTC로 저장된 데이터를 KST로 바꾸려면 +9시간을 해야 함.

방법

DATETIME(datetime_value, 'Asia/Seoul')
  • time_value에 해당 값 또는 컬럼을 넣고
  • 두 번째 전달인자에 'Asia/Seoul'을 넣으면 KST로 변환됨.

주의

  • 사실 DATETIME(datetime_value, 'Asia/Seoul') 이 방식은 UTC를 KST로 바꿔주는 게 아니라, datetime_value에 +9시간을 해주는 것임.
  • 둘 다 똑같다고 생각할 수 있지만, datetime_value가 이미 KST라면, KST에 또 +9시간을 하는 실수를 할 수 있음.
  • 따라서 datetime_value가 UTC인지 아니면 이미 KST로 변환된 값인지 꼭 확인할 필요가 있음.
  • 예를 들어 아래와 같이, 2020년 1월 1일 00시 00분 00초를 위와 같은 방식으로 하면, 2020년 1월 1일 09시 00분 00초의 값을 반환함.
# 쿼리
SELECT DATETIME(TIMESTAMP('2020-01-01 00:00:00'), 'Asia/Seoul')

# 결과값
2020-01-01T09:00:00

참고문서

profile
모빌리티 스타트업에서 데이터를 다루고 있습니다.

1개의 댓글

comment-user-thumbnail
2022년 7월 28일

감사합니다 퍼가요 ~

답글 달기