MySQL에서 날짜 값에 일수를 더하려면 두 가지 함수를 사용할 수 있습니다. 두 함수 모두 첫 번째 인자로 날짜가 저장된 열(컬럼) 이름을 지정하고, INTERVAL 키워드와 함께 더할 기간을 명시해야 합니다.
DATE_ADD() 함수
이 함수의 구문은 DATE_ADD(date, INTERVAL expression unit) 형태입니다. 'collegedetail' 테이블의 데이터를 사용한 다음 예시로 동작 방식을 확인할 수 있습니다.
mysql> Select estb, DATE_ADD(estb, INTERVAL 10 DAY) from collegedetail; +------------+---------------------------------+ | estb | DATE_ADD(estb, INTERVAL 10 DAY) | +------------+---------------------------------+ | 2010-05-01 | 2010-05-11 | | 1995-10-25 | 1995-11-04 | | 1994-09-25 | 1994-10-05 | | 2001-07-23 | 2001-08-02 | | 2010-07-30 | 2010-08-09 | +------------+---------------------------------+ 5 rows in set (0.00 sec)
위 쿼리는 'collegedetail' 테이블의 'estb' 열에 저장된 각 날짜에 10일을 더한 결과를 반환합니다. 예를 들어 2010-05-01이라는 날짜는 2010-05-11로 계산되어 출력됩니다.
ADDDATE() 함수
이 함수의 구문은 ADDDATE(date, INTERVAL expression unit) 형태입니다. 마찬가지로 'collegedetail' 테이블의 데이터를 활용한 예시로 확인할 수 있습니다.
mysql> Select estb, ADDDATE(estb, INTERVAL 10 DAY) from collegedetail; +------------+--------------------------------+ | estb | ADDDATE(estb, INTERVAL 10 DAY) | +------------+--------------------------------+ | 2010-05-01 | 2010-05-11 | | 1995-10-25 | 1995-11-04 | | 1994-09-25 | 1994-10-05 | | 2001-07-23 | 2001-08-02 | | 2010-07-30 | 2010-08-09 | +------------+--------------------------------+ 5 rows in set (0.00 sec)
위 쿼리 역시 'estb' 열에 저장된 날짜에 10일을 더한 결과를 보여줍니다. DATE_ADD()와 ADDDATE()는 완전히 동일한 방식으로 동작하므로, 어느 함수를 사용해도 같은 결과를 얻을 수 있습니다.
참고 사항
INTERVAL의 단위는 DAY뿐만 아니라 MONTH, YEAR, HOUR, MINUTE, SECOND 등 다양하게 지정할 수 있습니다. 또한 음수 값을 사용하면 날짜에서 일수를 빼는 연산도 가능합니다. 예를 들어 DATE_ADD(estb, INTERVAL -10 DAY)처럼 작성하면 해당 날짜에서 10일 이전의 날짜를 구할 수 있습니다.