mariaDB/3. SQL 사용법

SQL 시간 범위 구하기 (DATE_ADD, SUB)

bbomkim 2025. 5. 16. 13:56

DATE_ADD와 DATE_SUB는 날짜/시간에 더하거나 빼는 함수입니다.
주로 최근 일주일, 한 달, 하루 전 같은 시간 범위 조건을 만들 때 사용합니다.


기본 문법

-- 날짜 더하기
DATE_ADD(날짜, INTERVAL 숫자 단위)

-- 날짜 빼기
DATE_SUB(날짜, INTERVAL 숫자 단위)

사용 예시

1. 최근 일주일 데이터 조회

SELECT *
FROM orders
WHERE created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY);
  • NOW()는 현재 시간
  • 7일 전부터 지금까지의 데이터를 조회

2. 한 달 이내 가입한 사용자 조회

SELECT *
FROM users
WHERE join_date >= DATE_SUB(NOW(), INTERVAL 1 MONTH);

3. 주문일로부터 3일 뒤 배송 예정일 계산

SELECT order_id, order_date, DATE_ADD(order_date, INTERVAL 3 DAY) AS delivery_date
FROM orders;

사용 가능한 단위

단위 이름 의미
DAY
MONTH
YEAR
HOUR
MINUTE
SECOND

요약

함수  기능  예시
DATE_ADD 날짜 더하기 DATE_ADD(NOW(), INTERVAL 1 DAY)
DATE_SUB 날짜 빼기 DATE_SUB(NOW(), INTERVAL 7 DAY)

원하는 시간 범위로 데이터를 걸러낼 때 아주 자주 쓰이는 함수입니다.