कल की तारीख के रिकॉर्ड फ़िल्टर करना
DATE(NOW() - INTERVAL 1 DAY) का उपयोग करके कल की तारीख प्राप्त करें और DATETIME कॉलम की तुलना करें।
सिंटैक्स
SELECT * FROM yourTableName WHERE DATE(yourColumnName) = DATE(NOW() - INTERVAL 1 DAY);
उदाहरण: टेबल और डेटा
mysql> create table yesterDayRecordsDemo (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> ArrivalDateTime datetime
-> );
Query OK, 0 rows affected (0.44 sec)
mysql> insert into yesterDayRecordsDemo(ArrivalDateTime) values('2014-11-09 13:45:21');
mysql> insert into yesterDayRecordsDemo(ArrivalDateTime) values('2017-10-19 11:41:31');
mysql> insert into yesterDayRecordsDemo(ArrivalDateTime) values('2019-02-25 10:40:45');
mysql> insert into yesterDayRecordsDemo(ArrivalDateTime) values('2019-02-26 12:06:07');
mysql> insert into yesterDayRecordsDemo(ArrivalDateTime) values('2019-02-25 12:06:47');
mysql> insert into yesterDayRecordsDemo(ArrivalDateTime) values('2019-02-27 11:45:49');
मान लें आज 2019-02-27 है
mysql> SELECT * FROM yesterDayRecordsDemo
-> WHERE DATE(ArrivalDateTime) = DATE(NOW() - INTERVAL 1 DAY);
+----+---------------------+ | Id | ArrivalDateTime | +----+---------------------+ | 4 | 2019-02-26 12:06:07 | +----+---------------------+
वैकल्पिक तरीके
DATE_SUB(CURDATE(), INTERVAL 1 DAY)CURDATE() - INTERVAL 1 DAYDATE_ADD(CURDATE(), INTERVAL -1 DAY)
प्रदर्शन टिप
यदि कॉलम पर इंडेक्स है, तो फ़ंक्शन के बजाय रेंज क्वेरी उपयोग करें:
WHERE yourDateColumn >= DATE_SUB(CURDATE(), INTERVAL 1 DAY) AND yourDateColumn < CURDATE()
यह इंडेक्स उपयोग की अनुमति देता है।