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

MySQL에서 DATETIME 필드에 날짜를 더하는 방법 – DATE_ADD() 함수 완벽 가이드

MySQL DATE_ADD() 함수로 날짜 더하기

MySQL에서 DATETIME 또는 DATE 타입의 컬럼에 하루(또는 원하는 일수)를 더하려면 DATE_ADD() 함수를 사용하면 됩니다. 이 함수는 지정한 날짜 값에 특정 시간 간격을 더한 결과를 반환합니다.

기본 문법

SELECT DATE_ADD(yourColumnName, INTERVAL yourIntegerValue DAY) AS anyVariableName FROM yourTableName;

예제 테이블 생성

먼저 실습용 테이블을 만들어 보겠습니다.

mysql> create table AddOneDayDemo
-> (
    -> YourDay datetime
-> );
Query OK, 0 rows affected (1.37 sec)

현재 날짜 데이터 삽입

다음으로 curdate() 함수를 사용해 현재 날짜를 테이블에 삽입합니다. curdate()는 현재 날짜를 반환하는 MySQL 내장 함수입니다.

mysql> insert into AddOneDayDemo values(curdate());
Query OK, 1 row affected (0.17 sec)

저장된 데이터 확인

SELECT 문으로 저장된 레코드를 조회해 보겠습니다.

mysql> select * from AddOneDayDemo;

조회 결과 현재 날짜가 정상적으로 저장된 것을 확인할 수 있습니다.

+---------------------+
| YourDay |
+---------------------+
| 2018-11-27 00:00:00 |
+---------------------+
1 row in set (0.00 sec)

DATE_ADD()로 하루 더하기

이제 저장된 날짜에 하루를 더하는 쿼리를 실행해 보겠습니다. INTERVAL 키워드 뒤에 더하고 싶은 값과 단위(day)를 지정하면 됩니다.

mysql> select date_add(YourDay, interval 1 day) as yourDayafteraddingoneday from AddOneDayDemo;

실행 결과는 다음과 같습니다.

+--------------------------+
| yourDayafteraddingoneday |
+--------------------------+
| 2018-11-28 00:00:00 |
+--------------------------+
1 row in set (0.00 sec)

결과 분석

위 출력 결과를 보면 기존 날짜인 2018-11-27에서 정확히 하루가 추가되어 2018-11-28이 반환된 것을 확인할 수 있습니다.

추가 팁: 다양한 시간 단위 활용하기

DATE_ADD() 함수는 'day' 외에도 다양한 단위를 지원합니다. 필요에 따라 아래와 같이 활용할 수 있습니다.

  • HOUR – 시간 단위로 더하기
  • MINUTE – 분 단위로 더하기
  • MONTH – 월 단위로 더하기
  • YEAR – 연도 단위로 더하기

예를 들어 한 달을 더하려면 DATE_ADD(YourDay, INTERVAL 1 MONTH), 5시간을 더하려면 DATE_ADD(YourDay, INTERVAL 5 HOUR)처럼 작성하면 됩니다. 반대로 날짜를 빼고 싶다면 DATE_SUB() 함수를 사용하거나 음수 값을 입력하면 됩니다.