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

MySQL에서 날짜에 2주 추가하는 방법 – DATE_ADD() 함수 완벽 가이드

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 문에서도 유용하게 사용됩니다.