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

MySQL 테이블의 날짜 컬럼에 30일 더하기 – INTERVAL 활용법

MySQL에서 날짜에 INTERVAL로 30일 추가하기

MySQL 테이블의 날짜 컬럼에 저장된 모든 날짜 값에 일수를 더하려면 INTERVAL 연산자를 사용하면 됩니다. 이 글에서는 예제 테이블을 만들고, 데이터를 삽입한 후, 각 날짜에 30일을 더하는 방법을 단계별로 살펴보겠습니다.

1. 테이블 생성

먼저 날짜 타입(date)의 컬럼을 가진 테이블을 생성합니다.

mysql> create table DemoTable814(ArrivalDate date);
Query OK, 0 rows affected (0.58 sec)

2. 샘플 데이터 삽입

INSERT 문을 사용해 여러 개의 날짜 레코드를 입력합니다.

mysql> insert into DemoTable814 values('2018-12-02');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable814 values('2017-03-12');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable814 values('2019-12-23');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable814 values('2016-06-01');
Query OK, 1 row affected (0.32 sec)
mysql> insert into DemoTable814 values('2019-08-03');
Query OK, 1 row affected (0.20 sec)

3. 저장된 데이터 확인

SELECT 문으로 테이블에 저장된 모든 레코드를 조회합니다.

mysql> select *from DemoTable814;

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

+-------------+
| ArrivalDate |
+-------------+
| 2018-12-02 |
| 2017-03-12 |
| 2019-12-23 |
| 2016-06-01 |
| 2019-08-03 |
+-------------+
5 rows in set (0.00 sec)

4. 날짜에 30일 더하기

날짜 값에 30일을 더하려면 DATE + INTERVAL n DAY 형식의 쿼리를 사용합니다.

mysql> select ArrivalDate+ Interval 30 Day from DemoTable814;

각 날짜에 30일이 정확히 더해진 결과를 확인할 수 있습니다.

+------------------------------+
| ArrivalDate+ Interval 30 Day |
+------------------------------+
| 2019-01-01 |
| 2017-04-11 |
| 2020-01-22 |
| 2016-07-01 |
| 2019-09-02 |
+------------------------------+
5 rows in set (0.05 sec)

정리 및 참고 사항

위 예제처럼 INTERVAL 연산자를 사용하면 별도의 함수 없이도 간단하게 날짜 계산을 할 수 있습니다. 몇 가지 유용한 팁을 추가로 소개합니다.

  • 날짜 직접 수정: 조회가 아닌 실제 데이터를 변경하려면 UPDATE DemoTable814 SET ArrivalDate = ArrivalDate + INTERVAL 30 DAY; 쿼리를 실행하면 됩니다.
  • 다양한 단위 지원: INTERVAL은 DAY뿐 아니라 MONTH, YEAR, HOUR, MINUTE 등 다양한 시간 단위를 지원합니다.
  • DATE_ADD 함수 대체: DATE_ADD(ArrivalDate, INTERVAL 30 DAY) 형식으로 작성해도 동일한 결과를 얻을 수 있습니다.

이 방식을 활용하면 배송 예정일 계산, 구독 만료일 산정 등 다양한 비즈니스 로직에서 손쉽게 날짜 연산을 처리할 수 있습니다.