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

MySQL-এ বর্তমান তারিখ থেকে গত ২ দিনের রেকর্ড বের করা (DATE_SUB + NOW)

MySQL-এ বর্তমান তারিখ থেকে গত নির্দিষ্ট দিনের রেকর্ড বের করতে DATE_SUB() এবং NOW() ফাংশন ব্যবহার করুন।

সিনট্যাক্স

SELECT * FROM yourTable
WHERE yourDateTimeCol BETWEEN DATE_SUB(DATE(NOW()), INTERVAL 2 DAY)
                          AND DATE_SUB(DATE(NOW()), INTERVAL 1 DAY);

উদাহরণ

CREATE TABLE get2daysAgoDemo (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(20),
    PostDateTime DATETIME
);

INSERT INTO get2daysAgoDemo (Name, PostDateTime) VALUES
('Larry', NOW()), ('Mike', '2019-02-13'), ('Sam', '2019-01-31'),
('Bob', '2019-02-14'), ('David', '2019-02-12'), ('Carol', '2019-02-11');

ধরে নিই আজ 2019-02-15। গত ২ দিন (১৩ ও ১৪ ফেব্রুয়ারি) এর রেকর্ড:

SELECT * FROM get2daysAgoDemo
WHERE PostDateTime BETWEEN DATE_SUB(DATE(NOW()), INTERVAL 2 DAY)
                       AND DATE_SUB(DATE(NOW()), INTERVAL 1 DAY);

আউটপুট

+----+------+---------------------+
| Id | Name | PostDateTime        |
+----+------+---------------------+
| 2  | Mike | 2019-02-13 00:00:00 |
| 4  | Bob  | 2019-02-14 00:00:00 |
+----+------+---------------------+

বিকল্প:Relative Time Window

-- গত ২ দিন (৪৮ ঘণ্টা)
WHERE PostDateTime >= DATE_SUB(NOW(), INTERVAL 2 DAY)

-- ক্যালেন্ডার দিন ভিত্তিক (আজ বাদ দিয়ে গত ২ দিন)
WHERE DATE(PostDateTime) BETWEEN DATE_SUB(CURDATE(), INTERVAL 2 DAY)
                             AND DATE_SUB(CURDATE(), INTERVAL 1 DAY)
  1. MySQL-এ VARCHAR তারিখ কলামের সাথে বর্তমান তারিখ তুলনা করা

  2. MySQL-এ কারেন্ট ডেট ও টেবিলের ডেট রেকর্ডের পার্থক্য বের করা

  3. MySQL에서 날짜 레코드로부터 월의 첫날과 마지막 날 구하기

  4. MySQL에서 현재 날짜 기준 1일 이상 미래/과거 데이터 조회 (INTERVAL 활용)