MySQL में तिथि कॉलम से केवल आज की तिथि वाले रिकॉर्ड्स चुनने के लिए DATE() फ़ंक्शन (समय भाग हटाने) के साथ CURDATE() की तुलना की जाती है।
उदाहरण के लिए टेबल बनाना
mysql> CREATE TABLE DemoTable (DueDate DATE);
डेटा डालना
mysql> INSERT INTO DemoTable VALUES('2019-06-14'), ('2019-06-15'), ('2019-06-16'), ('2018-01-16'), ('2018-07-16');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+------------+ | DueDate | +------------+ | 2019-06-14 | | 2019-06-15 | | 2019-06-16 | | 2018-01-16 | | 2018-07-16 | +------------+
आज की तिथि वाले रिकॉर्ड्स चुनना (मान लें आज 2019-06-16 है)
mysql> SELECT * FROM DemoTable WHERE DATE(DueDate) = CURDATE();
आउटपुट
+------------+ | DueDate | +------------+ | 2019-06-16 | +------------+
प्रदर्शन नोट: DATE(DueDate) कॉलम पर फ़ंक्शन लागू करता है, जिससे इंडेक्स उपयोग नहीं हो सकता। बेहतर: WHERE DueDate >= CURDATE() AND DueDate < DATE_ADD(CURDATE(), INTERVAL 1 DAY)। यह रेंज क्वेरी इंडेक्स का उपयोग कर सकती है।