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

MySQL 테이블 열에 저장된 날짜에 일수를 더하는 방법

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일 이전의 날짜를 구할 수 있습니다.