MySQL में VARCHAR कॉलम में संग्रहीत तिथि स्ट्रिंग्स (जैसे 'mm-dd-yyyy') से विशिष्ट महीने के रिकॉर्ड्स फ़िल्टर करने के लिए STR_TO_DATE() से तिथि में बदलकर MONTH() फ़ंक्शन का उपयोग किया जाता है।
उदाहरण के लिए टेबल बनाना
mysql> CREATE TABLE DemoTable (DueDate VARCHAR(100));
डेटा डालना
mysql> INSERT INTO DemoTable VALUES('06-19-2019'), ('01-31-2018'), ('12-01-2016');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+------------+ | DueDate | +------------+ | 06-19-2019 | | 01-31-2018 | | 12-01-2016 | +------------+
महीना 06 (जून) वाले रिकॉर्ड्स फ़िल्टर करना
mysql> SELECT * FROM DemoTable
-> WHERE MONTH(STR_TO_DATE(DueDate, '%m-%d-%Y')) = 6;
आउटपुट
+------------+ | DueDate | +------------+ | 06-19-2019 | +------------+
नोट: STR_TO_DATE(DueDate, '%m-%d-%Y') स्ट्रिंग को DATE में बदलता है। MONTH() महीना संख्या (1-12) निकालता है। प्रदर्शन: VARCHAR तिथि कॉलम पर फ़ंक्शन लागू करने से इंडेक्स उपयोग नहीं होता। बेहतर: तिथि को DATE/DATETIME टाइप में संग्रहीत करें या जेनरेटेड कॉलम/इंडेक्स बनाएं।