MyBatis
INTERVAL
99duuk
2024. 11. 19. 15:19
INTERVAL은 SQL에서 날짜나 시간을 계산할 때 사용하는 키워드로, 특정 기간을 더하거나 빼는 데 활용됨. 예를 들어, 현재 시간으로부터 7일 전이나 한 달 전과 같은 시점을 계산할 때 매우 유용함.
- 문법: DATE_COLUMN >= NOW() - INTERVAL 기간 단위
- 활용 가능 단위: SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR 등
자주 쓰는 INTERVAL 예시
1. 최근 일주일 데이터 조회
최근 7일 동안의 데이터를 조회하고 싶을 때 사용. 현재 시각 기준으로 7일 전부터 현재 시각까지의 데이터를 가져옴.
WHERE DATE_COLUMN >= NOW() - INTERVAL 7 DAY;
이 쿼리는 현재 시각 기준으로 7일 전부터 데이터를 조회하는 조건임. 예를 들어, 조회 시점이 2024-11-19 15:14:30이라면, 쿼리는 2024-11-12 15:14:30부터 현재 시각인 2024-11-19 15:14:29까지의 데이터를 가져오게 됨.
2. 최근 한 달 데이터 조회
현재 시각 기준으로 1개월 전부터 현재 시각까지의 데이터를 조회할 때 사용.
WHERE DATE_COLUMN >= NOW() - INTERVAL 1 MONTH;
3. 지난 3시간 데이터 조회
현재 시각 기준으로 3시간 전부터 현재 시각까지의 데이터를 조회할 때 사용.
WHERE DATE_COLUMN >= NOW() - INTERVAL 3 HOUR;
4. 최근 특정 범위 데이터를 조회하기
특정 범위에만 해당하는 데이터를 조회하고 싶을 때, BETWEEN과 INTERVAL을 함께 사용할 수 있음.
예를 들어, 7일 전부터 3일 전 사이의 데이터를 조회하려면:
WHERE DATE_COLUMN BETWEEN NOW() - INTERVAL 7 DAY AND NOW() - INTERVAL 3 DAY;
이렇게 하면 정확히 7일 전 시각부터 3일 전 시각까지의 데이터만 가져옴.