DATE_SUB() और INTERVAL का उपयोग करके हाल की तिथियां फ़िल्टर करना
पहले टेबल बनाएं:
mysql> create table DemoTable1392 ( ArrivalDate date ); Query OK, 0 rows affected (0.43 sec)
रिकॉर्ड डालें:
mysql> insert into DemoTable1392 values('2019-09-10'); Query OK, 1 row affected (0.46 sec)
mysql> insert into DemoTable1392 values('2019-09-26'); Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable1392 values('2019-09-12'); Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1392 values('2018-09-20'); Query OK, 1 row affected (0.31 sec)
mysql> insert into DemoTable1392 values('2019-10-11'); Query OK, 1 row affected (0.11 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable1392;
आउटपुट:
+-------------+ | ArrivalDate | +-------------+ | 2019-09-10 | | 2019-09-26 | | 2019-09-12 | | 2018-09-20 | | 2019-10-11 | +-------------+ 5 rows in set (0.00 sec)
वर्तमान तिथि:
mysql> select curdate(); +------------+ | curdate() | +------------+ | 2019-09-26 | +------------+ 1 row in set (0.00 sec)
14 दिन से अधिक हाल की तिथि प्राप्त करने की क्वेरी:
mysql> select * from DemoTable1392 where ArrivalDate > date_sub(curdate(), interval 14 day);
परिणाम:
+-------------+ | ArrivalDate | +-------------+ | 2019-09-26 | | 2019-10-11 | +-------------+ 2 rows in set (0.03 sec)
व्याख्या: DATE_SUB(CURDATE(), INTERVAL 14 DAY) वर्तमान तिथि (2019-09-26) से 14 दिन घटाकर 2019-09-12 देता है। WHERE ArrivalDate > '2019-09-12' उन तिथियों को चुनता है जो 12 सितंबर के बाद की हैं। 2019-09-26 और 2019-10-11 योग्य हैं। यह "पिछले N दिनों" फ़िल्टर के लिए सामान्य पैटर्न है।