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 আজ থেকে ৩ দিন আগের তারিখ বের করে।