MySQL에서 특정 날짜에 반년(6개월) 간격을 더하고 싶다면 INTERVAL 키워드를 활용하면 됩니다. 실무에서 자주 사용되는 대표적인 방법은 다음 두 가지입니다.
(A) 6개월(MONTH) 단위로 더하기
가장 직관적인 방법으로, 날짜 값에 6개월 간격을 그대로 더하는 방식입니다.
mysql> Select '2017-06-20' + INTERVAL 6 Month AS 'After Half Year Interval';
+--------------------------+
| After Half Year Interval |
+--------------------------+
| 2017-12-20 |
+--------------------------+
1 row in set (0.00 sec)
실행 결과를 보면 2017년 6월 20일에 정확히 6개월이 더해져 2017-12-20이 출력된 것을 확인할 수 있습니다.
(B) 분기(QUARTER) 단위로 더하기
MySQL은 분기를 나타내는 QUARTER 키워드도 지원합니다. 1년은 4분기이므로, 반년은 곧 2분기에 해당합니다.
mysql> Select '2017-06-20' + INTERVAL 2 Quarter AS 'After Half Year Interval';
+--------------------------+
| After Half Year Interval |
+--------------------------+
| 2017-12-20 |
+--------------------------+
1 row in set (0.00 sec)
위 쿼리는 QUARTER 키워드 덕분에 앞선 예제와 동일한 결과인 2017-12-20을 반환합니다.
어떤 방법을 선택해야 할까?
두 방식 모두 같은 결과를 내지만, 코드의 의도를 표현하는 관점에서 차이가 있습니다. 단순히 개월 수를 기준으로 계산한다면 INTERVAL 6 MONTH가 적합하고, 회계 처리나 사업 분기처럼 분기 기반 로직이라면 INTERVAL 2 QUARTER가 더욱 읽기 좋고 명확합니다. 상황에 맞는 키워드를 선택해 가독성 높은 SQL을 작성해 보세요.