নির্দিষ্ট বছর ও মাসের তারিখ ফেচ করতে YEAR() এবং MONTH() ফাংশন ব্যবহার করুন। প্রথমে একটি টেবিল তৈরি করি:
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
ShippingDate DATETIME
);
রেকর্ড যোগ করি:
mysql> INSERT INTO DemoTable(ShippingDate) VALUES('2019-01-31');
mysql> INSERT INTO DemoTable(ShippingDate) VALUES('2018-12-01');
mysql> INSERT INTO DemoTable(ShippingDate) VALUES('2019-06-02');
mysql> INSERT INTO DemoTable(ShippingDate) VALUES('2019-11-18');
সকল রেকর্ড দেখতে:
mysql> SELECT * FROM DemoTable;
আউটপুট:
+----+-----------------------+ | Id | ShippingDate | +----+-----------------------+ | 1 | 2019-01-31 00:00:00 | | 2 | 2018-12-01 00:00:00 | | 3 | 2019-06-02 00:00:00 | | 4 | 2019-11-18 00:00:00 | +----+-----------------------+
২০১৯ সালের জুন (০৬) মাসের রেকর্ড ফেচ করা:
mysql> SELECT * FROM DemoTable WHERE YEAR(ShippingDate) = '2019' AND MONTH(ShippingDate) = '06';
আউটপুট:
+----+-----------------------+ | Id | ShippingDate | +----+-----------------------+ | 3 | 2019-06-02 00:00:00 | +----+-----------------------+
ব্যাখ্যা: YEAR() এবং MONTH() ফাংশনগুলো DATETIME/DATE থেকে বছর ও মাস বের করে। স্ট্রিং কম্পেরিজনের জন্য কোটেশন ব্যবহার করা হয়েছে, MySQL অটোমেটিক কনভার্ট করবে।
পারফরম্যান্স টিপ: ফাংশন কলামে লাগালে ইনডেক্স ব্যবহার হয় না। বড় টেবিলের জন্য রেঞ্জ কোয়েরি ভালো:
WHERE ShippingDate >= '2019-06-01' AND ShippingDate < '2019-07-01'