महीने और वर्ष के आधार पर MySQL SELECT करने के लिए, अंतर्निहित फंक्शन YEAR() और MONTH() का उपयोग करें। सिंटैक्स इस प्रकार है:
SELECT * FROM yourTableName WHERE YEAR(yourColumnName) = YearValue AND MONTH(yourColumnName) = MonthValue;
उपरोक्त सिंटैक्स को समझने के लिए, एक टेबल बनाते हैं। टेबल बनाने का क्वेरी:
mysql> CREATE TABLE selectDataOnYearandMonthDemo (
-> BookId INT,
-> BookName VARCHAR(100),
-> BookDueDate DATETIME
-> ); Query OK, 0 rows affected (0.57 sec)
अब आप टेबल में कुछ रिकॉर्ड डाल सकते हैं। क्वेरी इस प्रकार है:
mysql> INSERT INTO selectDataOnYearandMonthDemo VALUES(101,'C in Depth', DATE_ADD(NOW(), INTERVAL -1 YEAR)); Query OK, 1 row affected (0.50 sec) mysql> INSERT INTO selectDataOnYearandMonthDemo VALUES(102,'Let us C', DATE_ADD(CURDATE(), INTERVAL 1 YEAR)); Query OK, 1 row affected (0.12 sec) mysql> INSERT INTO selectDataOnYearandMonthDemo VALUES(103,'SCJP Java','2018-12-5'); Query OK, 1 row affected (0.12 sec) mysql> INSERT INTO selectDataOnYearandMonthDemo VALUES(104,'Introduction to C++','2016-4-5'); Query OK, 1 row affected (0.24 sec)
ऊपर डाले गए सभी रिकॉर्ड प्रदर्शित करें। सभी रिकॉर्ड प्रदर्शित करने का क्वेरी:
mysql> SELECT * FROM selectDataOnYearandMonthDemo;
निम्न आउटपुट है:
+--------+--------------------+---------------------+ | BookId | BookName | BookDueDate | +--------+--------------------+---------------------+ | 101 | C in Depth | 2017-12-05 21:44:20 | | 102 | Let us C | 2019-12-05 00:00:00 | | 103 | SCJP Java | 2018-12-05 00:00:00 | | 104 | Introduction to C++| 2016-04-05 00:00:00 | +--------+--------------------+---------------------+ 4 rows in set (0.00 sec)
यहाँ वर्ष और महीना चुनने का क्वेरी है। क्वेरी इस प्रकार है:
mysql> SELECT * FROM selectDataOnYearandMonthDemo WHERE YEAR(BookDueDate) = 2019 AND MONTH(BookDueDate) = 12;
निम्न आउटपुट है:
+--------+----------+---------------------+ | BookId | BookName | BookDueDate | +--------+----------+---------------------+ | 102 | Let us C | 2019-12-05 00:00:00 | +--------+----------+---------------------+ 1 row in set (0.05 sec)