데이터를 현재 시점 기준으로 필터링할 때, 어떤 함수를 사용하시나요?
-- 방법 1 : NOW()
WHERE created_at >= NOW() - INTERVAL '7 days'
-- 방법 2 : CURRENT_DATE
WHERE created_at::date >= CURRENT_DATE - 7
겉보기엔 비슷하지만, 결과는 꽤 다를 수 있습니다.
| 항목 | NOW() | CURRENT_DATE |
|---|---|---|
| 타입 | timestamp | date |
| 시분초 포함 | ✅ | ❌ |
| 기준 시점 | 지금 이 순간 | 오늘 자정 (00시) |
예를 들어, 지금이 8월 3일 오후 11시라면
NOW() - 7 days → 7월 27일 오후 11시부터CURRENT_DATE - 7 → 7월 27일 00시부터같은 “7일 전”이지만, 포함 범위는 달라질 수 있습니다.
CURRENT_DATENOW()필요한 기준이 ‘날짜’인지 ‘시간’인지에 따라 함수를 구분해서 쓰세요.