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

MySQL에서 DATE_ADD()로 45일씩 더한 날짜를 새 열에 출력하는 방법

MySQL에서 저장된 날짜(datetime) 값에 45일을 더하고, 그 결과를 기존 열과 함께 새로운 열에 출력하려면 date_add() 함수를 사용하면 됩니다. date_add()는 지정한 날짜·시간 값에 원하는 간격(interval)만큼 더한 값을 반환하는 함수로, 날짜 계산에 매우 유용하게 활용됩니다.

1. 샘플 테이블 생성하기

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

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

2. 레코드 삽입하기

insert 명령을 사용하여 테이블에 날짜 데이터를 몇 개 삽입합니다.

mysql> insert into DemoTable1930 values('2017-10-21');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1930 values('2019-12-14');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1930 values('2018-11-26');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1930 values('2014-06-16');
Query OK, 1 row affected (0.00 sec)

3. 전체 레코드 조회하기

select 문으로 테이블에 저장된 모든 레코드를 확인합니다.

mysql> select * from DemoTable1930;

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

+---------------------+
| DueTime             |
+---------------------+
| 2017-10-21 00:00:00 |
| 2019-12-14 00:00:00 |
| 2018-11-26 00:00:00 |
| 2014-06-16 00:00:00 |
+---------------------+
4 rows in set (0.00 sec)

4. 45일을 더하는 쿼리 실행하기

이제 date_add() 함수를 사용하여 DueTime 값에 45일을 더하고, 별칭(as)을 지정해 새로운 열로 출력하는 쿼리입니다.

mysql> select DueTime,date_add(DueTime, interval 45 day) as ManyDays from DemoTable1930;

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

+---------------------+---------------------+
| DueTime             | ManyDays            |
+---------------------+---------------------+
| 2017-10-21 00:00:00 | 2017-12-05 00:00:00 |
| 2019-12-14 00:00:00 | 2020-01-28 00:00:00 |
| 2018-11-26 00:00:00 | 2019-01-10 00:00:00 |
| 2014-06-16 00:00:00 | 2014-07-31 00:00:00 |
+---------------------+---------------------+
4 rows in set (0.00 sec)

위 결과에서 볼 수 있듯이, ManyDays라는 새로운 열에는 원래 날짜에서 정확히 45일이 더해진 값이 출력됩니다. 예를 들어 2017-10-21에 45일을 더하면 2017-12-05가 되고, 2019-12-14에 45일을 더하면 연도가 넘어간 2020-01-28이 됩니다. 이처럼 date_add() 함수는 월말·연말 경계를 자동으로 처리해 주기 때문에 마감일 계산 등 다양한 업무 로직에서 안정적으로 사용할 수 있습니다.