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일 전 시각까지의 데이터만 가져옴.