구글 빅쿼리 @run_date 함수에 관하여
구글 빅쿼리에는 @run_date라는 함수가 있는데 이 함수를 이용하면 쿼리를 실행할 때 데이터 집계 기준 시간을 쿼리 실행시각으로 자동 설정할 수 있다. 단, 어디까지나 구글 빅쿼리의 스케줄된쿼리 메뉴에서 사용자가 수동으로 쿼리를 실행할 때의 이야기이고 정해진 시각에 자동으로 실행하도록 설정되어 있는 쿼리에 대해선 따로 시각을 설정해두지 않으면 세계표준시(UTC)로 실행되어버린다. 이 경우 한국,일본과 같이 세계표준시보다 9시간 빠른 국가의 경우에 쿼리의 실행시간이 날짜를 걸쳐서 실행되면 의도하지 않은 결과를 낳을 수 있기 때문에 주의를 요한다. 이를 방지하기 위해 타임존을 따로 설정할 수 있는데, 타임존을 설정할 경우엔 @run_date가 아니라 @run_time 함수를 사용하여야한다. -- 타임스탬프형으로 사용하고 싶은 경우엔 굳이 DATE함수를 사용하지 않아도 괜찮다. DATE(@run_time,'Asia/Seoul') DATE(@run_time,'Asia/Tokyo') 팀내에서 만든 데이터마트들이 타임존 설정 없이 죄다 @run_date로 설정되어 있었기 때문에, 앞으로 고쳐야할 부분이 산더미 같지만...뭐 어떻게든 되겠지 하하... 참고 문서: https://qiita.com/sushi_edo/items/8250902ce2af778c2e8f

구글 빅쿼리에는 @run_date
라는 함수가 있는데 이 함수를 이용하면 쿼리를 실행할 때 데이터 집계 기준 시간을 쿼리 실행시각으로 자동 설정할 수 있다.
단, 어디까지나 구글 빅쿼리의 스케줄된쿼리 메뉴에서 사용자가 수동으로 쿼리를 실행할 때의 이야기이고 정해진 시각에 자동으로 실행하도록 설정되어 있는 쿼리에 대해선 따로 시각을 설정해두지 않으면 세계표준시(UTC)로 실행되어버린다.
이 경우 한국,일본과 같이 세계표준시보다 9시간 빠른 국가의 경우에 쿼리의 실행시간이 날짜를 걸쳐서 실행되면 의도하지 않은 결과를 낳을 수 있기 때문에 주의를 요한다.
이를 방지하기 위해 타임존을 따로 설정할 수 있는데, 타임존을 설정할 경우엔 @run_date
가 아니라 @run_time
함수를 사용하여야한다.
-- 타임스탬프형으로 사용하고 싶은 경우엔 굳이 DATE함수를 사용하지 않아도 괜찮다.
DATE(@run_time,'Asia/Seoul')
DATE(@run_time,'Asia/Tokyo')
팀내에서 만든 데이터마트들이 타임존 설정 없이 죄다 @run_date로 설정되어 있었기 때문에, 앞으로 고쳐야할 부분이 산더미 같지만...뭐 어떻게든 되겠지 하하...
참고 문서: https://qiita.com/sushi_edo/items/8250902ce2af778c2e8f