MySQL-এ মাস এবং বছর ভিত্তিক করে সিলেক্ট করতে 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)