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) |
원하는 시간 범위로 데이터를 걸러낼 때 아주 자주 쓰이는 함수입니다.