MySQL-এ DATEPART() ফাংশন নেই। তার পরিবর্তে ডেট কলাম থেকে মাস বের করতে MONTH() ফাংশন ব্যবহার করতে হয়।
সিনট্যাক্স
SELECT * FROM yourTableName WHERE MONTH(yourDateColumnName) = yourValue;
উদাহরণ দিয়ে বুঝি
একটি টেবিল তৈরি করুন:
mysql> CREATE TABLE SelectRowFromDatePart (
-> Id INT NOT NULL AUTO_INCREMENT,
-> LoginDate DATE,
-> PRIMARY KEY(Id)
-> );
Query OK, 0 rows affected (2.42 sec)
রেকর্ড ইনসার্ট করুন:
mysql> INSERT INTO SelectRowFromDatePart(LoginDate) VALUES(CURDATE());
mysql> INSERT INTO SelectRowFromDatePart(LoginDate) VALUES(DATE_ADD(CURDATE(), INTERVAL -3 YEAR));
mysql> INSERT INTO SelectRowFromDatePart(LoginDate) VALUES('2014-05-21');
mysql> INSERT INTO SelectRowFromDatePart(LoginDate) VALUES('2015-08-25');
mysql> INSERT INTO SelectRowFromDatePart(LoginDate) VALUES('2018-12-31');
mysql> INSERT INTO SelectRowFromDatePart(LoginDate) VALUES('2011-12-21');
mysql> INSERT INTO SelectRowFromDatePart(LoginDate) VALUES('2013-10-02');
mysql> INSERT INTO SelectRowFromDatePart(LoginDate) VALUES('2006-12-11');
mysql> INSERT INTO SelectRowFromDatePart(LoginDate) VALUES('2010-03-09');
mysql> INSERT INTO SelectRowFromDatePart(LoginDate) VALUES('2012-12-12');
সকল রেকর্ড দেখুন:
mysql> SELECT * FROM SelectRowFromDatePart;
+----+------------+
| Id | LoginDate |
+----+------------+
| 1 | 2019-01-31 |
| 2 | 2016-01-31 |
| 3 | 2014-05-21 |
| 4 | 2015-08-25 |
| 5 | 2018-12-31 |
| 6 | 2011-12-21 |
| 7 | 2013-10-02 |
| 8 | 2006-12-11 |
| 9 | 2010-03-09 |
| 10 | 2012-12-12 |
+----+------------+
10 rows in set (0.00 sec)
ডিসেম্বর (১২) মাসের রেকর্ড বের করতে MONTH() ফাংশন ব্যবহার করুন:
mysql> SELECT * FROM SelectRowFromDatePart WHERE MONTH(LoginDate) = 12;
+----+------------+
| Id | LoginDate |
+----+------------+
| 5 | 2018-12-31 |
| 6 | 2011-12-21 |
| 8 | 2006-12-11 |
| 10 | 2012-12-12 |
+----+------------+
4 rows in set (0.00 sec)
নোট: MySQL-এ YEAR(), DAY(), HOUR(), MINUTE(), SECOND() ইত্যাদি ফাংশনও রয়েছে ডেট/টাইমের বিভিন্ন অংশ বের করার জন্য।