কম্পিউটার টিউটোরিয়াল

MySQL-এ YEAR() এবং MONTH() ফাংশন ব্যবহার করে নির্দিষ্ট বছর ও মাসের তারিখ ফেচ করা

নির্দিষ্ট বছর ও মাসের তারিখ ফেচ করতে 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'
  1. MySQL-এ DATE_FORMAT দিয়ে তারিখ কলাম থেকে মাসের নাম এবং বছর দেখানো

  2. MySQL-এ কারেন্ট ডেটের দিন ও মাস দিয়ে ডেট রেকর্ড ফিল্টার করা

  3. MySQL-এ নির্দিষ্ট মাস এবং বছরের ভিত্তিতে রেকর্ড ফিল্টার করা

  4. MySQL-এ AND ও OR অপারেটর ব্যবহার করে নির্দিষ্ট রেকর্ড বের করা