본문 바로가기
분석/데이터분석

[SQL] 날짜 차이 계산하기 (presto, athena)

by 여우요원 2022. 5. 23.

Presto (또는 athena)에서 날짜 차이를 구하는 방법에 대해서 알아보자.

 

기본적으로 date_diff 라는 함수를 사용한다.

date_diff( 'unit', '시작일자', '종료일자') 의 형식으로 사용하는데, 여기서 'unit'에 따라서 차이를 일단위로 계산할지 또는 월단위로 계산할지 등등을 정할 수 있다.

 

unit 으로는 'YEAR', 'QUARTER', 'MONTH', 'WEEK', 'DAY', 'HOUR' , 'MINUTE', 'SECOND' 등을 사용할 수 있다.

 

select date_diff('day', date('2022-01-01'), date('2022-02-01'))

--> 결과 : 31

 

한가지 주의할 점은 '시작일자' 와 '종료일자'가 날짜 형식의 타입이어야 한다. date, datetime, timestamp 등..

만일 date_diff('day', '2022-01-01', '2022-02-01') 와 같이 string 형태로 바로 써주면 에러가 난다.

 

mysql 에서는 내부적으로 알아서 형변환이 되어서 날짜 관련 함수에 바로 '2022-02-01' 과 같이 써주어도 되지만, preso (athena)에서는 날짜관련해서는 타입을 꼭 맞춰줘야 한다.