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

MySQL에서 NOW() 기준 10일 이후의 날짜를 조회하는 방법 – DATE_ADD() 함수 활용

MySQL에서 현재 시점(NOW())으로부터 10일 이후의 날짜 데이터를 조회하려면 DATE_ADD() 함수와 WHERE 절을 함께 사용하면 됩니다. DATE_ADD()는 특정 날짜에 지정한 기간(일, 월, 년 등)을 더한 값을 반환하는 함수로, INTERVAL 키워드와 조합하면 다양한 날짜 연산을 간편하게 처리할 수 있습니다.

1. 예제 테이블 생성

먼저 배송 날짜(ShippingDate)를 저장할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
   (
   ShippingDate date
   );
Query OK, 0 rows affected (0.54 sec)

2. 현재 날짜 및 시간 확인 (NOW())

NOW() 함수를 사용하면 현재 날짜와 시간을 확인할 수 있습니다. 아래 예제에서 현재 시점은 2019-06-04입니다.

mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2019-06-04 20:43:57 |
+---------------------+
1 row in set (0.00 sec)

3. 샘플 데이터 삽입

INSERT 문을 사용해 여러 개의 배송 날짜를 입력합니다.

mysql> insert into DemoTable values('2019-06-16');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('2019-05-31');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('2019-05-24');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('2019-06-24');
Query OK, 1 row affected (0.17 sec)

4. 전체 데이터 확인

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

mysql> select *from DemoTable;

실행 결과:

+--------------+
| ShippingDate |
+--------------+
| 2019-06-16 |
| 2019-05-31 |
| 2019-05-24 |
| 2019-06-24 |
+--------------+
4 rows in set (0.00 sec)

5. NOW() + 10일 이후의 날짜 조회 쿼리

다음은 현재 시점에서 10일 후보다 늦은 날짜만 조회하는 쿼리입니다.

mysql> select *from DemoTable where ShippingDate > DATE_ADD(now(), INTERVAL 10 DAY);

실행 결과:

+--------------+
| ShippingDate |
+--------------+
| 2019-06-16 |
| 2019-06-24 |
+--------------+
2 rows in set (0.00 sec)

위 결과를 보면 현재 날짜(2019-06-04)에 10일을 더한 2019-06-14보다 이후인 두 개의 레코드만 출력된 것을 확인할 수 있습니다. 이처럼 DATE_ADD(now(), INTERVAL n DAY) 구문을 WHERE 절에 활용하면 '오늘부터 N일 이후'와 같은 상대적인 날짜 조건을 손쉽게 처리할 수 있어, 배송 예정일 관리나 만료일 필터링 등 실무에서 매우 유용하게 사용됩니다.