Specialist/SQL

[빅쿼리 - SQL]를 사용하여 날짜/타임스탬프 다루기(current_data, current_timestamp, substr 함수)

홍원 2022. 4. 29. 16:42

이번 글에서는 지난 시간에 다룬 샘플 로그 데이터 중 stamp 열을 사용해서 시간 데이터를 다루어 보겠다.

 

시간 데이터의 인스턴스는 'DATE''TIMESTAMP'로 나뉜다.

이 둘의 차이점을 알기 위해 '현재 날짜'와 '현재 타임스탬프'를 알아보는 함수를 사진으로 결과와 함께 보자

 

함수

현재 날짜를 나타내는 함수 : CURRENT_DATA

현재 타임 스탬프를 나타내는 함수 : CURRENT_STAMP

date 와 timestamp의 차이

date 와 time stamp 의 차이를 한눈에 알 수 있었다.

단, 빅쿼리의 경우 타임 스탬프가 UTC 시간을 나타내므로, 한국은 UTC + 9를 해야한다.

 

그렇다면, 우리의 로우 데이터의 stamp 열은?

 

로우 데이터 유형

로우 데이터의 stamp는 내용물은 타임 스탬프 같았지만, 유형은 사실 string(문자)이었다. 

그렇다면 문자열을 분해해서 date나 timestamp로 보이게 하는 방법을 사용하면 된다.

 

문자열을 사용하여 타임스탬프,date 나타내기
결과

기존 stamp 열을 'date'로 나타내기 위해 'substr' 함수를 사용했다.

substr 함수란 문자열을 지정 범위까지 잘라주는 함수이다. 문자열에서 문자 하나 당 1의 값을 가진다. 

substr(문자열,시작위치,종료위치+1) 

 

이번 글에서는 빅쿼리로 시간,날짜 정보를 다루는 법을 알아보았다.

날짜와 시간 정보는 로그 데이터에서 빠지지 않는 정보이므로 꼭 타임 존을 고려하여 분석해야 한다.


[데이터분석을 위한 SQL 레시피] 도서를 참고하여 기재된 내용입니다.