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

MySQL Datetime에 날짜(일) 추가하는 방법

MySQL에서 DATETIME 타입 컬럼에 특정 일수를 더하려면 DATE_ADD() 함수를 사용하면 됩니다. 이번 글에서는 예제 테이블을 만들고, DATETIME 값에 날짜를 추가하는 전체 과정을 단계별로 살펴보겠습니다.

1. 테이블 생성하기

먼저 DATETIME 타입의 컬럼을 가진 테이블을 생성합니다.

mysql> create table DemoTable1871
    (
    ArrivalDate datetime
    );
Query OK, 0 rows affected (0.00 sec)

2. 샘플 데이터 삽입하기

INSERT 명령을 사용해 몇 개의 레코드를 입력합니다.

mysql> insert into DemoTable1871 values('2019-12-19 7:45:00');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1871 values('2018-11-10 12:00:00');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1871 values('2019-01-31');
Query OK, 1 row affected (0.00 sec)

3. 저장된 데이터 확인하기

SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.

mysql> select * from DemoTable1871;

위 쿼리는 다음과 같은 결과를 출력합니다.

+---------------------+
| ArrivalDate         |
+---------------------+
| 2019-12-19 07:45:00 |
| 2018-11-10 12:00:00 |
| 2019-01-31 00:00:00 |
+---------------------+
3 rows in set (0.00 sec)

4. DATE_ADD()로 날짜 추가하기

이제 UPDATE 문과 DATE_ADD() 함수를 함께 사용하여 ArrivalDate 컬럼의 모든 값에 6일을 더해 보겠습니다.

mysql> update DemoTable1871 set ArrivalDate=date_add(ArrivalDate, interval 6 day);
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3 Warnings: 0

여기서 interval 6 day는 6일을 더한다는 의미입니다. 필요에 따라 숫자와 단위(day, month, year 등)를 자유롭게 변경할 수 있습니다.

5. 변경된 결과 확인하기

다시 한번 테이블을 조회하여 변경 사항을 확인합니다.

mysql> select * from DemoTable1871;

모든 날짜가 정확히 6일씩 증가한 것을 확인할 수 있습니다.

+---------------------+
| ArrivalDate         |
+---------------------+
| 2019-12-25 07:45:00 |
| 2018-11-16 12:00:00 |
| 2019-02-06 00:00:00 |
+---------------------+
3 rows in set (0.00 sec)

참고: DATE_SUB()로 날짜 빼기

반대로 날짜를 빼고 싶다면 DATE_SUB() 함수를 사용하거나, DATE_ADD()에 음수 간격을 지정하면 됩니다. 예를 들어 date_add(ArrivalDate, interval -6 day)처럼 작성하면 6일을 차감할 수 있습니다.