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

MySQL DATETIME 값에 하루 추가하기 – DATE_ADD() 함수 완벽 가이드

MySQL에서 DATETIME 형식의 값에 하루를 더하고 싶다면 DATE_ADD() 함수를 사용하면 됩니다. 이 함수는 날짜 및 시간 값에 원하는 간격(interval)을 더하거나 뺄 때 가장 널리 쓰이는 방법입니다.

DATE_ADD() 기본 문법

select date_add(now(), interval 1 day) as anyVariableName;

위 문법을 실제로 실행하여 DATETIME 값에 하루를 추가해 보겠습니다.

현재 시간에 하루 더하기 – now() 함수 활용

mysql> select date_add(now(), interval 1 day) as Adding1DayDemo;

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

+---------------------+
| Adding1DayDemo      |
+---------------------+
| 2018-12-07 20:06:59 |
+---------------------+
1 row in set (0.00 sec)

현재 날짜와 시간에 정확히 하루가 더해진 것을 확인할 수 있습니다.

날짜에만 하루 더하기 – curdate() 함수 활용

시간 정보는 제외하고 날짜(date)에만 하루를 더하고 싶다면 curdate() 함수를 사용하면 됩니다.

mysql> select date_add(curdate(), interval 1 day) as Adding1DayDemo;

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

+----------------+
| Adding1DayDemo |
+----------------+
| 2018-12-07     |
+----------------+
1 row in set (0.00 sec)

실전 예제: 테이블 생성 후 하루 더하기

이제 테이블을 직접 만들고 날짜 값을 넣어서 실전처럼 연습해 보겠습니다.

1. 테이블 생성

mysql> create table AddOneday
   -> (
   -> DueTime datetime
   -> );
Query OK, 0 rows affected (1.05 sec)

2. 데이터 삽입

now()curdate() 두 함수를 사용해 각각 레코드를 삽입합니다.

mysql> insert into AddOneday values(now());
Query OK, 1 row affected (0.22 sec)

mysql> insert into AddOneday values(curdate());
Query OK, 1 row affected (0.53 sec)

3. 전체 레코드 조회

mysql> select * from AddOneday;

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

+---------------------+
| DueTime             |
+---------------------+
| 2018-12-06 20:10:47 |
| 2018-12-06 00:00:00 |
+---------------------+
2 rows in set (0.00 sec)

4. DATE_ADD()로 하루 추가하기

mysql> select date_add(DueTime, interval 1 day) as AddingOneDay from AddOneday;

모든 날짜 값에 하루가 더해진 최종 결과는 다음과 같습니다.

+---------------------+
| AddingOneDay        |
+---------------------+
| 2018-12-07 20:10:47 |
| 2018-12-07 00:00:00 |
+---------------------+
2 rows in set (0.00 sec)

정리

MySQL에서 DATETIME 값에 하루를 추가하는 방법은 매우 간단합니다. 핵심은 DATE_ADD(날짜컬럼, INTERVAL 1 DAY) 형태로 사용하는 것이며, 상황에 따라 다음과 같이 구분해서 사용하면 됩니다.

  • now(): 현재 날짜와 시간까지 모두 필요한 경우
  • curdate(): 날짜만 필요하고 시간은 제외하고 싶은 경우
  • 테이블 컬럼: 저장된 DATETIME 값을 기준으로 계산할 때

또한 INTERVAL 단위는 DAY 외에도 HOUR, MINUTE, MONTH, YEAR 등 다양하게 지정할 수 있으니, 날짜 계산이 필요한 쿼리 작성 시 적극적으로 활용해 보세요.