26. [SQL 코테] 날짜 함수 3종 비교 - DATEDIFF vs TIMESTAMPDIFF vs DATE_SUB 🔥

Jason·2026년 1월 16일

SQL

목록 보기
25/47

[SQL 코테] 날짜 함수 3종 비교 - DATEDIFF vs TIMESTAMPDIFF vs DATE_SUB 🔥

🎯 문제 유형별 사용 함수 (최우선 암기!)

함수언제 쓰냐
DATEDIFF(A, B)첫 구매까지 며칠?
TIMESTAMPDIFF(MONTH, A, B)코호트 몇 개월 차?
DATE_SUB(날짜, INTERVAL rn DAY)연속 날짜 그룹핑

🚨 핵심 요약 (시험 전 필독!)

1. DATEDIFF(A, B) = A - B (일수)
2. TIMESTAMPDIFF(단위, A, B) = B - A (순서 반대!)
3. DATE_SUB(날짜, INTERVAL n DAY) = 날짜 - n일

📊 한눈에 비교

함수하는 일결과 타입순서
DATEDIFF(A, B)두 날짜 차이정수 (일)A - B
TIMESTAMPDIFF(단위, A, B)두 날짜 차이정수 (단위별)B - A ⚠️
DATE_SUB(날짜, INTERVAL n DAY)날짜 빼기날짜날짜 - n

1️⃣ DATEDIFF - 일수 차이

DATEDIFF(끝날짜, 시작날짜)

예시:

DATEDIFF('2024-03-15', '2024-03-10')5 ()
DATEDIFF('2024-03-10', '2024-03-15')-5 ()

언제 쓰냐: 첫 구매까지 며칠 걸렸나?

DATEDIFF(first_order_date, signup_date)

2️⃣ TIMESTAMPDIFF - 단위별 차이

TIMESTAMPDIFF(단위, 시작날짜, 끝날짜)

⚠️ DATEDIFF랑 순서 반대!

단위 옵션:
| 단위 | 의미 |
|------|------|
| YEAR | 년 |
| MONTH | 월 |
| WEEK | 주 |
| DAY | 일 |
| HOUR | 시간 |

예시:

TIMESTAMPDIFF(MONTH, '2024-01-01', '2024-03-15')2 (개월)
TIMESTAMPDIFF(WEEK, '2024-01-01', '2024-03-15')10 ()
TIMESTAMPDIFF(DAY, '2024-01-01', '2024-03-15')73 ()

언제 쓰냐: 코호트 리텐션 (몇 개월 차?)

TIMESTAMPDIFF(MONTH, signup_date, order_date) AS month_number

3️⃣ DATE_SUB - 날짜 빼기

DATE_SUB(날짜, INTERVAL n 단위)

예시:

DATE_SUB('2024-03-15', INTERVAL 3 DAY)'2024-03-12'
DATE_SUB('2024-03-15', INTERVAL 1 MONTH)'2024-02-15'

언제 쓰냐: 연속 날짜 그룹핑!

DATE_SUB(login_date, INTERVAL rn DAY) AS grp

🎯 문제 유형별 사용 함수

문제 유형사용 함수
첫 구매까지 며칠?DATEDIFF(구매일, 가입일)
몇 개월 차에 구매? (코호트)TIMESTAMPDIFF(MONTH, 가입일, 구매일)
연속 날짜 그룹핑DATE_SUB(날짜, INTERVAL rn DAY)

⚠️ 헷갈리는 포인트

순서 주의!

DATEDIFF(A, B)           → A - B
TIMESTAMPDIFF(단위, A, B) → B - A  ← 반대!

DATE_SUB vs DATEDIFF

-- DATE_SUB = 날짜 반환
DATE_SUB('2024-03-15', INTERVAL 3 DAY)'2024-03-12' (날짜)

-- DATEDIFF = 숫자 반환
DATEDIFF('2024-03-15', '2024-03-12')3 (정수)

채널톡 DA 인턴 코테 준비 중 정리한 내용입니다 🚀

profile
Data Analyst | Thoughts Become Things. 할 수 있다고 생각하면 할 수 있다. 할 수 없다고 생각하면 할 수 없다. | www.linkedin.com/in/명수-제-7ab843200

0개의 댓글