Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 복합 INTERVAL 단위를 사용하는 방법

MySQL에서는 하나의 INTERVAL 표현식에 두 개 이상의 시간 단위를 동시에 지정할 수 있습니다. 이를 복합(compound) INTERVAL 단위라고 하며, 날짜나 시간 값에 여러 단위를 한 번에 더하거나 뺄 때 매우 유용합니다.

복합 INTERVAL 단위의 기본 문법

복합 INTERVAL 단위 키워드는 두 개의 단위 키워드가 언더스코어(_)로 연결된 형태로 구성됩니다. 예를 들어 YEAR_MONTH, DAY_HOUR, HOUR_MINUTE 등이 대표적입니다.

복합 단위를 실제로 사용할 때는 다음 두 가지 규칙을 반드시 지켜야 합니다.

  • 단위 값은 반드시 작은따옴표(' ')로 묶어야 합니다.
  • 각 단위에 해당하는 값들은 공백으로 구분하여 작성해야 합니다.

사용 예제

다음 쿼리는 특정 날짜·시간 값에 2년과 2개월을 동시에 더하는 예제입니다. 복합 단위 YEAR_MONTH를 사용하며, 값은 '2 2'처럼 공백으로 구분하여 전달합니다.

mysql> Select timestamp('2017-10-22 04:05:36' + INTERVAL '2 2' year_month) AS 'Date After 2 Years and 2 Months';
+---------------------------------+
| Date After 2 Years and 2 Months |
+---------------------------------+
| 2019-12-22 04:05:36             |
+---------------------------------+
1 row in set (0.00 sec)

실행 결과를 보면 원래 날짜인 2017년 10월 22일에 2년이 더해져 2019년이 되었고, 2개월이 추가되어 최종적으로 2019-12-22 04:05:36이 반환된 것을 확인할 수 있습니다.

주요 복합 INTERVAL 단위 목록

MySQL에서 활용할 수 있는 대표적인 복합 단위는 다음과 같습니다.

  • DAY_HOUR — 일과 시간
  • DAY_MINUTE — 일, 시간, 분
  • DAY_SECOND — 일, 시간, 분, 초
  • HOUR_MINUTE — 시간과 분
  • HOUR_SECOND — 시간, 분, 초
  • MINUTE_SECOND — 분과 초
  • YEAR_MONTH — 년과 월

이처럼 복합 INTERVAL 단위를 활용하면 여러 번의 연산 없이도 하나의 쿼리로 복잡한 날짜 계산을 간결하게 처리할 수 있습니다.