SQL/개념
INTERVAL 연산자
데이터분석가 이채은
2024. 11. 21. 17:22
INTERVAL 연산자란?
"INTERVAL"은 날짜나 시간 데이터에 일정 기간을 추가하거나 빼는 작업을 수행할 때 사용됩니다. 특정 날짜 계산, 일정 기간 동안의 데이터 필터링, 기간 비교 등에 활용됩니다.
INTERVAL의 기본 구문
DATE + INTERVAL n unit
DATE - INTERVAL n unit
- DATE: 기준이 되는 날짜 또는 시간.
- n: 추가하거나 빼려는 시간의 양.
- unit: 기간 단위 (예: DAY, MONTH, YEAR 등).
INTERVAL 단위
예제
1. 현재 날짜에 7일 더하기
SELECT NOW() AS current_date,
NOW() + INTERVAL 7 DAY AS future_date;
2. 특정 날짜에서 3개월 빼기
SELECT '2024-12-11' - INTERVAL 3 MONTH AS past_date;
3. 1년 후의 날짜 계산
SELECT '2024-12-11' + INTERVAL 1 YEAR AS next_year_date;
4. WHERE 조건에서 사용
문제: 최근 30일간의 데이터 필터링
SELECT *
FROM Orders
WHERE order_date BETWEEN DATE_SUB(NOW(), INTERVAL 30 DAY) AND NOW();
- DATE_SUB(NOW(), INTERVAL 30 DAY):
- 현재 날짜에서 30일 전의 날짜를 계산.
- BETWEEN:
- 30일 전부터 현재까지의 데이터를 필터링.
5. 시간 단위 사용
문제: 지난 2시간 동안 발생한 이벤트
SELECT *
FROM Events
WHERE event_time > NOW() - INTERVAL 2 HOUR;
- NOW() - INTERVAL 2 HOUR:
- 현재 시간에서 2시간 전을 계산.
6. QUARTER 단위 사용
문제: 지난 분기(3개월) 동안의 데이터 조회
SELECT *
FROM Sales
WHERE sale_date > NOW() - INTERVAL 1 QUARTER;
- INTERVAL 1 QUARTER:
- 현재 날짜에서 지난 3개월을 계산.