MySQL में CURDATE() से वर्तमान तिथि द्वारा फ़िल्टर करना
वर्तमान तिथि के आधार पर रिकॉर्ड फ़िल्टर करने के लिए CURDATE() फ़ंक्शन का उपयोग करें।
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (DueDate DATETIME); Query OK, 0 rows affected (0.94 sec)
mysql> INSERT INTO DemoTable VALUES('2019-07-10 04:20:00');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable VALUES('2019-07-10 05:10:40');
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DemoTable VALUES('2019-07-10 09:00:20');
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable VALUES('2019-07-10 10:01:04');
Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO DemoTable VALUES('2019-07-10 12:11:10');
Query OK, 1 row affected (0.19 sec)
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
+---------------------+ | DueDate | +---------------------+ | 2019-07-10 04:20:00 | | 2019-07-10 05:10:40 | | 2019-07-10 09:00:20 | | 2019-07-10 10:01:04 | | 2019-07-10 12:11:10 | +---------------------+ 5 rows in set (0.00 sec)
वर्तमान तिथि और समय सीमा से फ़िल्टर करने का क्वेरी
mysql> SELECT * FROM DemoTable WHERE DATE(DueDate) = CURDATE() AND TIME(DueDate) > '04:00:00' AND TIME(DueDate) < '10:00:00';
परिणाम
+---------------------+ | DueDate | +---------------------+ | 2019-07-10 04:20:00 | | 2019-07-10 05:10:40 | | 2019-07-10 09:00:20 | +---------------------+ 3 rows in set (0.00 sec)
व्याख्या: DATE(DueDate) केवल तिथि भाग निकालता है, CURDATE() वर्तमान तिथि देता है, और TIME(DueDate) समय भाग निकालता है। यह क्वेरी आज की तिथि वाले और सुबह 4 से 10 बजे के बीच के रिकॉर्ड लौटाती है।