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

MySQL-এ টাইমস্ট্যাম্প কমপেয়ার (তুলনা) করা


MySQL-এ DATE() ফাংশন দিয়ে টাইমস্ট্যাম্প কমপেয়ার

TIMESTAMP বা DATETIME কলামে শুধু তারিখের অংশ (দিন/মাস/বছর) নিয়ে তুলনা করতে DATE() ফাংশন ব্যবহার করা হয়। এটি সময়ের অংশ বাদ দেয়।

সিনট্যাক্স

SELECT DATE(yourTimestampColumn) FROM yourTableName 
WHERE DATE(yourTimestampColumn) < CURDATE() - INTERVAL 3 DAY;

উদাহরণ সহ ব্যাখ্যা

টেবিল তৈরি:

mysql> CREATE TABLE comparingTimestampDemo (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> AdmissionDate TIMESTAMP
    -> );

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

mysql> INSERT INTO comparingTimestampDemo(AdmissionDate) VALUES('2019-03-31');
mysql> INSERT INTO comparingTimestampDemo(AdmissionDate) VALUES('2019-04-10');
mysql> INSERT INTO comparingTimestampDemo(AdmissionDate) VALUES('2019-04-15');
mysql> INSERT INTO comparingTimestampDemo(AdmissionDate) VALUES('2019-03-29');
mysql> INSERT INTO comparingTimestampDemo(AdmissionDate) VALUES('2019-04-07');

বর্তমান ডেটা (টাইমस्ट্যাম্প):

mysql> SELECT * FROM comparingTimestampDemo;
+----+---------------------+
| Id | AdmissionDate       |
+----+---------------------+
| 1  | 2019-03-31 00:00:00 |
| 2  | 2019-04-10 00:00:00 |
| 3  | 2019-04-15 00:00:00 |
| 4  | 2019-03-29 00:00:00 |
| 5  | 2019-04-07 00:00:00 |
+----+---------------------+

৩ দিন আগের চেয়ে পুরনো তারিখ খুঁজে বের করি:

mysql> SELECT DATE(`AdmissionDate`) FROM comparingTimestampDemo 
    -> WHERE DATE(`AdmissionDate`) < CURDATE() - INTERVAL 3 DAY;

ফলাফল (মান लो আজ ২০১৯-০৪-১০):

+-----------------------+
| DATE(`AdmissionDate`) |
+-----------------------+
| 2019-03-31            |
| 2019-03-29            |
+-----------------------+

ব্যাখ্যা: DATE() টাইমস্ট্যাম্প থেকে শুধু তারিখের অংশ বের করে। CURDATE() - INTERVAL 3 DAY আজ থেকে ৩ দিন আগের তারিখ বের করে।

  1. MySQL-এ LIMIT OFFSET দিয়ে রো বাদ দিয়ে (Skip) রেকর্ড বের করা

  2. MySQL-এ ডেটাটাইম রি-ফরম্যাট করা

  3. MySQL-এ মাস অনুযায়ী রেকর্ড সিলেক্ট করা (MONTH() ফাংশন)

  4. MySQL-এ SUBSTRING_INDEX() ব্যবহার করে কলাম বিভক্ত করা (স্প্লিট)