MySQL에서 날짜에 2주 추가하기
MySQL에서 특정 날짜에 2주를 더하려면 DATE_ADD() 함수를 사용하면 됩니다. 이 함수는 날짜·시간 값에 지정한 시간 간격(interval)을 더한 결과를 반환하며, 일수뿐 아니라 주, 월, 년 등 다양한 단위를 지원합니다.
기본적인 사용 문법은 다음과 같습니다.
insert into yourTableName(yourColumnName)
values(date_add(now(), interval 2 week));
아래에서 실제 예제를 통해 단계별로 살펴보겠습니다.
1단계: 테이블 생성하기
먼저 예제에 사용할 테이블을 생성합니다.
mysql> create table DemoTable
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
ShippingDate datetime
);
Query OK, 0 rows affected (0.62 sec)
위 테이블은 자동 증가(AUTO_INCREMENT)되는 기본키인 Id 컬럼과, 배송일을 저장할 datetime 타입의 ShippingDate 컬럼으로 구성되어 있습니다.
2단계: 현재 날짜 확인하기
NOW() 함수를 사용해 현재 날짜와 시간을 먼저 확인해 보겠습니다.
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2019-06-02 10:36:49 |
+---------------------+
1 row in set (0.00 sec)
3단계: 2주가 추가된 날짜 삽입하기
DATE_ADD() 함수에 INTERVAL 2 WEEK 구문을 조합하면 현재 시간에서 정확히 2주 뒤의 날짜를 계산할 수 있습니다. 이 값을 INSERT 명령으로 테이블에 저장합니다.
mysql> insert into DemoTable(ShippingDate)
values(date_add(now(), interval 2 week));
Query OK, 1 row affected (0.22 sec)
4단계: 결과 확인하기
SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.
mysql> select * from DemoTable;
실행 결과:
+----+---------------------+
| Id | ShippingDate |
+----+---------------------+
| 1 | 2019-06-16 10:37:24 |
+----+---------------------+
1 row in set (0.00 sec)
현재 날짜가 2019-06-02였으므로, 정확히 2주 후인 2019-06-16이 ShippingDate 컬럼에 저장된 것을 확인할 수 있습니다.
참고: 다른 방법으로 2주 더하기
DATE_ADD() 외에도 아래와 같은 방법으로 동일한 결과를 얻을 수 있습니다.
-- 덧셈 연산자(+) 사용
select now() + interval 2 week;
-- DATE_SUB()에 음수 간격 사용
select date_sub(now(), interval -2 week);
특정 날짜 컬럼의 값을 기준으로 2주를 더하고 싶다면 NOW() 대신 해당 컬럼명을 넣어주면 됩니다. 예를 들어 date_add(ShippingDate, interval 2 week)처럼 활용할 수 있어 UPDATE 문에서도 유용하게 사용됩니다.