[SQL] NOW() vs CURRENT_DATE

Unit·2025년 8월 3일

SQL

목록 보기
32/59

데이터를 현재 시점 기준으로 필터링할 때, 어떤 함수를 사용하시나요?

-- 방법 1 : NOW()
WHERE created_at >= NOW() - INTERVAL '7 days'

-- 방법 2 : CURRENT_DATE
WHERE created_at::date >= CURRENT_DATE - 7

겉보기엔 비슷하지만, 결과는 꽤 다를 수 있습니다.


✅ 핵심 차이

항목NOW()CURRENT_DATE
타입timestampdate
시분초 포함
기준 시점지금 이 순간오늘 자정 (00시)

예를 들어, 지금이 8월 3일 오후 11시라면

  • NOW() - 7 days → 7월 27일 오후 11시부터
  • CURRENT_DATE - 7 → 7월 27일 00시부터

같은 “7일 전”이지만, 포함 범위는 달라질 수 있습니다.


💡 언제 어떻게 써야 할까?

  • 날짜 단위 집계 → CURRENT_DATE
  • 시점 단위 비교 → NOW()

필요한 기준이 ‘날짜’인지 ‘시간’인지에 따라 함수를 구분해서 쓰세요.

profile
협업, 유지보수, 최적화를 고려한 데이터 실무 팁을 정리합니다.

0개의 댓글