কম্পিউটার টিউটোরিয়াল

MySQL에서 현재 날짜 기준 1일 이상 미래/과거 데이터 조회 (INTERVAL 활용)

INTERVAL 키워드로 날짜 연산을 하면 현재 날짜 기준 상대적 범위 조회가 쉽습니다.

현재 날짜 확인

mysql> SELECT CURDATE();
+------------+
| CURDATE()  |
+------------+
| 2019-11-29 |
+------------+
1 row in set (0.00 sec)

테이블 생성 및 데이터 삽입

mysql> CREATE TABLE DemoTable1806 (
    -> DueDate DATETIME
    -> );
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO DemoTable1806 VALUES('2019-11-28');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1806 VALUES('2019-11-29');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1806 VALUES('2019-11-30');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1806 VALUES('2019-11-25');
Query OK, 1 row affected (0.00 sec)

데이터 조회

mysql> SELECT * FROM DemoTable1806;
+---------------------+
| DueDate             |
+---------------------+
| 2019-11-28 00:00:00 |
| 2019-11-29 00:00:00 |
| 2019-11-30 00:00:00 |
| 2019-11-25 00:00:00 |
+---------------------+
4 rows in set (0.00 sec)

현재 시각 기준 1일 전부터 이후 데이터 조회 (>= 1일 전)

mysql> SELECT * FROM DemoTable1806 WHERE DueDate >= NOW() - INTERVAL 1 DAY;
+---------------------+
| DueDate             |
+---------------------+
| 2019-11-29 00:00:00 |
| 2019-11-30 00:00:00 |
+---------------------+
2 rows in set (0.00 sec)

해설: NOW() - INTERVAL 1 DAY = '2019-11-28 00:00:00' (현재 시각 기준). 이 시각 이후(같은 시각 포함) 데이터만 조회. DATE_SUB(NOW(), INTERVAL 1 DAY)와 동일. INTERVAL 1 MONTH, INTERVAL 3 HOUR 등 다양하게 사용 가능.

  1. MySQL-এ বর্তমান মাসের প্রথম দিন কীভাবে পাবেন?

  2. MySQL-এ তারিখে ১ দিন যোগ করা (DATE_ADD)

  3. MySQL-এ একটি টেবিলের সারি যেটি অন্য টেবিলে নেই সেগুলো কীভাবে বের করবেন?

  4. MySQL-এ শেষ ১০টি সারি কীভাবে বের করবেন?