MONTHNAME() या MONTH() से महीना फ़िल्टर करें
डेट/डेटटाइम कॉलम से किसी विशेष महीने के रिकॉर्ड चुनने के लिए MONTHNAME() (नाम) या MONTH() (संख्या) फ़ंक्शन उपयोग करें।
सिंटैक्स
-- महीना नाम से SELECT * FROM yourTableName WHERE MONTHNAME(yourColumnName) = 'MonthName'; -- महीना संख्या से SELECT * FROM yourTableName WHERE MONTH(yourColumnName) = monthNumber;
उदाहरण: टेबल और डेटा
mysql> create table selectAllEntriesDemo (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> ShippingDate datetime
-> );
mysql> INSERT INTO selectAllEntriesDemo(ShippingDate) VALUES
('2019-01-21'), ('2018-02-24'), ('2010-10-22'), ('2011-04-12'),
('2013-02-10'), ('2014-02-15'), ('2016-06-14'), ('2017-02-14'), ('2015-03-29');
फरवरी के रिकॉर्ड: MONTHNAME()
mysql> SELECT * FROM selectAllEntriesDemo WHERE MONTHNAME(ShippingDate) = 'February';
+----+---------------------+ | Id | ShippingDate | +----+---------------------+ | 2 | 2018-02-24 00:00:00 | | 5 | 2013-02-10 00:00:00 | | 6 | 2014-02-15 00:00:00 | | 8 | 2017-02-14 00:00:00 | +----+---------------------+
फरवरी के रिकॉर्ड: MONTH()
mysql> SELECT * FROM selectAllEntriesDemo WHERE MONTH(ShippingDate) = 2;
+----+---------------------+ | Id | ShippingDate | +----+---------------------+ | 2 | 2018-02-24 00:00:00 | | 5 | 2013-02-10 00:00:00 | | 6 | 2014-02-15 00:00:00 | | 8 | 2017-02-14 00:00:00 | +----+---------------------+
प्रदर्शन टिप
बड़ी टेबल्स पर फ़ंक्शन इंडेक्स उपयोग रोकते हैं। रेंज क्वेरी बेहतर:
WHERE ShippingDate >= '2018-02-01' AND ShippingDate < '2018-03-01'
अन्य डेट पार्ट फ़ंक्शन
YEAR(date)- वर्षQUARTER(date)- तिमाही (1-4)WEEK(date)- सप्ताहDAY(date)- दिनDAYOFWEEK(date)- सप्ताह का दिन (1=रविवार)