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일 전 시각까지의 데이터만 가져옴.
'MyBatis' 카테고리의 다른 글
전체 개수 조회 to 조건 개수 (2) | 2024.11.19 |
---|---|
MyBatis는 쿼리 결과를 DTO에 매핑할 때 setter 메소드를 사용함 (0) | 2024.09.23 |
LPAD, NEXTVAL (ID 관리) (0) | 2024.09.09 |
계층 쿼리 (중첩 SELECT_mysql, CTE_mysql, CONNECT BY_oracle) (0) | 2024.09.09 |
@변수명 := (0) | 2024.09.09 |