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

MySQL-এ DATE_SUB() ব্যবহার করে বর্তমান তারিখ থেকে ৩ সপ্তাহ আগের তারিখের পরের রেকর্ড ফেচ করা

বর্তমান তারিখ থেকে ৩ সপ্তাহ আগের তারিখের পরের রেকর্ড পেতে DATE_SUB() ব্যবহার করুন। প্রথমে একটি টেবিল তৈরি করি:

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ArrivalDate DATETIME
);

ধরে নিচ্ছি আজকের তারিখ ২০১৯-০৬-০৮। রেকর্ড যোগ করি:

mysql> INSERT INTO DemoTable(ArrivalDate) VALUES('2019-05-15');
mysql> INSERT INTO DemoTable(ArrivalDate) VALUES('2019-06-08');
mysql> INSERT INTO DemoTable(ArrivalDate) VALUES('2019-05-20');
mysql> INSERT INTO DemoTable(ArrivalDate) VALUES('2019-05-12');

সকল রেকর্ড দেখতে:

mysql> SELECT * FROM DemoTable;

আউটপুট:

+----+---------------------+
| Id | ArrivalDate         |
+----+---------------------+
| 1  | 2019-05-15 00:00:00 |
| 2  | 2019-06-08 00:00:00 |
| 3  | 2019-05-20 00:00:00 |
| 4  | 2019-05-12 00:00:00 |
+----+---------------------+

বর্তমান তারিখ থেকে ৩ সপ্তাহ আগে (২০১৯-০৫-১৮) এর পরে পড়া তারিখগুলো:

mysql> SELECT ArrivalDate FROM DemoTable 
WHERE ArrivalDate > DATE_SUB(CURDATE(), INTERVAL 3 WEEK);

আউটপুট:

+---------------------+
| ArrivalDate         |
+---------------------+
| 2019-06-08 00:00:00 |
| 2019-05-20 00:00:00 |
+---------------------+

ব্যাখ্যা: DATE_SUB(CURDATE(), INTERVAL 3 WEEK) বর্তমান তারিখ থেকে ২১ দিন বিয়োগ করে। CURDATE() শুধু তারিখ দেয় (টাইম নয়), তাই DATETIME কলামের সাথে তুলনা করলে টাইম অংশ ০০:০০:০০ ধরা হয়।

বিকল্প: WHERE ArrivalDate > CURDATE() - INTERVAL 3 WEEK (MySQL-এ সরাসরি অ্যারিথমেটিক সমর্থিত)।

  1. MySQL-এ বর্তমান তারিখ থেকে ১৪ সপ্তাহের মধ্যে তারিখ রেকর্ড ফেচ করা

  2. MySQL কোয়েরি: 00:00 থেকে আজকের তারিখ পর্যন্ত ডেটা নির্বাচন করা

  3. MySQL-এ নির্দিষ্ট দিন (2010-11-04) থেকে বর্তমান তারিখ পর্যন্ত কোয়েরি নির্বাচন করা

  4. MySQL-এ STR_TO_DATE() এবং CURDATE() ব্যবহার করে বর্তমান তারিখের রেকর্ড খুঁজুন