MySQL में LIKE ऑपरेटर का उपयोग करके विशिष्ट महीने की तिथियां फ़िल्टर करना
जब तिथि VARCHAR कॉलम में संग्रहीत होती है, तो LIKE ऑपरेटर का उपयोग करके पैटर्न मिलान द्वारा विशिष्ट महीने की तिथियां निकाली जा सकती हैं।
व्यावहारिक उदाहरण
तालिका बनाना
mysql> CREATE TABLE DemoTable (
AdmissionDate VARCHAR(100)
);
तिथि रिकॉर्ड डालना
mysql> INSERT INTO DemoTable VALUES('2018-01-21');
mysql> INSERT INTO DemoTable VALUES('2019-08-13');
mysql> INSERT INTO DemoTable VALUES('2019-07-08');
mysql> INSERT INTO DemoTable VALUES('2016-02-12');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+---------------+ | AdmissionDate | +---------------+ | 2018-01-21 | | 2019-08-13 | | 2019-07-08 | | 2016-02-12 | +---------------+
अगस्त 2019 की तिथियां फ़िल्टर करने के लिए क्वेरी
mysql> SELECT * FROM DemoTable WHERE AdmissionDate LIKE '2019-08%';
आउटपुट:
+---------------+ | AdmissionDate | +---------------+ | 2019-08-13 | +---------------+
बेहतर दृष्टिकोण: DATE कॉलम के लिए
यदि कॉलम DATE या DATETIME प्रकार का है, तो MONTH() और YEAR() फ़ंक्शन का उपयोग करें:
SELECT * FROM DemoTable WHERE MONTH(AdmissionDate) = 8 AND YEAR(AdmissionDate) = 2019;
यह तरीका अधिक सटीक और प्रदर्शन के लिए बेहतर है क्योंकि यह इंडेक्स का उपयोग कर सकता है।