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

MySQL-এ WHERE ক্লজে তারিখ বিয়োগ করে রো সিলেক্ট করা

MySQL-এ দুটি তারিখের মধ্যে মিনিট/ঘণ্টা/দিনের পার্থক্য বের করতে TIMESTAMPDIFF() ফাংশন ব্যবহার করা হয়।

উদাহরণ

টেবিল তৈরি:

CREATE TABLE demo42 (
    start_date DATETIME
);

ডেটা ইনসার্ট:

INSERT INTO demo42 VALUES ('2020-01-10 12:30:05');
INSERT INTO demo42 VALUES ('2019-02-24 10:40:45');
INSERT INTO demo42 VALUES ('2020-05-12 05:45:55');
INSERT INTO demo42 VALUES ('2020-05-12 05:40:55');
INSERT INTO demo42 VALUES ('2020-05-12 05:42:55');

টেবিলের ডেটা:

+---------------------+
| start_date          |
+---------------------+
| 2020-01-10 12:30:05 |
| 2019-02-24 10:40:45 |
| 2020-05-12 05:45:55 |
| 2020-05-12 05:40:55 |
| 2020-05-12 05:42:55 |
+---------------------+

কোয়েরি

নির্দিষ্ট সময় ('2020-05-12 05:40:55') থেকে ৫ মিনিটের মধ্যে থাকা রেকর্ডগুলো বের করা:

SELECT * FROM demo42
WHERE ABS(TIMESTAMPDIFF(MINUTE, start_date, '2020-05-12 05:40:55')) < 5;

আউটপুট

+---------------------+
| start_date          |
+---------------------+
| 2020-05-12 05:40:55 |
| 2020-05-12 05:42:55 |
+---------------------+

ব্যাখ্যা: TIMESTAMPDIFF(MINUTE, start_date, target_time) দুই তারিখের মিনিট পার্থক্য বের করে। ABS() ব্যবহার করে নেগেটিভ মান পজিটিভ করা হয়েছে, যাতে আগে বা পরে উভয় দিকের সময় পাওয়া যায়। INTERVAL কীওয়ার্ডও ব্যবহার করা যায়: WHERE start_date BETWEEN '2020-05-12 05:40:55' - INTERVAL 5 MINUTE AND '2020-05-12 05:40:55' + INTERVAL 5 MINUTE।

  1. MySQL-এ DATE_SUB() ফাংশন ব্যবহার করে তারিখ থেকে এক দিন বিয়োগ

  2. MySQL-এ LIMIT ব্যবহার করে পেজিনেশন (পরের সারি নির্বাচন)

  3. MySQL-এ WHERE IN ক্লজে NULL হ্যান্ডলিং

  4. MySQL-এ FIND_IN_SET ব্যবহার করে কমা-সেপারেটেড স্ট্রিং লিস্টে মান খুঁজে সিলেক্ট করা