
105
3
장
시계열 분석
3.1.3
날짜 계산
이 절에서는
SQL
을 활용해 날짜 데이터로 다양한 수리 연산을 해봅니다. 엄밀히 말해 날짜가
숫자는 아니지만, 오늘부터
4
주가 지나면 무슨 요일인지 계산할 수 있듯 개념적으로는 수리 연
산과 비슷합니다. 날짜 계산은 분석 업무에 아주 유용합니다. 예를 들어, 고객의 나이 또는 회
원 유지 기간, 두 이벤트 사이 날짜 간격, 특정 기간 내 이벤트 발생 횟수 등을 계산할 때 날짜
계산이 필요합니다.
날짜 계산은 ‘날짜 간 계산’과 ‘인터벌 계산’이라는 두 가지 타입이 있습니다. 날짜와 시간을 정
수와 완전히 동일하게 취급할 수는 없으므로 인터벌 개념을 활용합니다.
100
의
1
/
10
은
10
이
고,
1
년의
1
/
10
은
36
.
5
일입니다.
100
의 절반은
50
이고, 하루의 절반은
12
시간입니다. 인터벌
을 사용하면 시간 단위를 보다 부드럽게 처리할 수 있습니다. 인터벌은 ‘연-월 인터벌’과 ‘일-
시간 인터벌’이라는 두 가지 타입이 있습니다. 먼저 정숫값을 반환하는 간단한 연산을 몇 가지
알아본 뒤 인터벌을 반환하는 함수를 알아봅시다.
우선 두 날짜 사이에 며칠의 간격이 있는지 계산해봅시다. 방법은 여러 가지입니다. 첫 번째 방
법은 수리 연산으로 빼기표 (
-
)를 사용합니다.
SELECT
date(‘2020-06-30’) - date(‘2020-05-31’) ...