VARCHAR तारीख कॉलम की तुलना CURDATE() से करने के लिए STR_TO_DATE() का उपयोग करके इसे DATE प्रकार में बदलें।
टेबल बनाना
mysql> CREATE TABLE DemoTable (AdmissionDate VARCHAR(50));
Query OK, 0 rows affected (0.63 sec)
नोट: मान लें वर्तमान तारीख 14-Sep-2019 है।
डेटा डालना
mysql> INSERT INTO DemoTable VALUES('15-Sep-2019'),('14-Sep-2019'),('13-Sep-2016'),('13-Sep-2019'),('13-Sep-2020');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+---------------+
| AdmissionDate |
+---------------+
| 15-Sep-2019 |
| 14-Sep-2019 |
| 13-Sep-2016 |
| 13-Sep-2019 |
| 13-Sep-2020 |
+---------------+
वर्तमान तारीख से पहले की तारीखों के लिए क्वेरी
mysql> SELECT * FROM DemoTable
WHERE STR_TO_DATE(AdmissionDate, '%d-%b-%Y') < CURDATE();
परिणाम (CURDATE() = '2019-09-14' मानकर):
+---------------+
| AdmissionDate |
+---------------+
| 13-Sep-2016 |
| 13-Sep-2019 |
+---------------+
2 rows in set (0.00 sec)
प्रारूप नोट: %b संक्षिप्त महीना नाम (Sep, Aug) के लिए है। %M पूर्ण नाम (September) के लिए है। तुलना से पहले दोनों पक्षों को समान प्रकार (DATE) में बदलें।