MySQL-এ দুটি DATETIME কলামের পার্থক্য দিনে বের করতে DATEDIFF() ব্যবহার করুন।
উদাহরণ: জন্ম তারিখ ও বর্তমান তারিখ থেকে বয়স
mysql> CREATE TABLE DemoTable (DOB DATETIME, CurrentDate DATETIME);
Query OK, 0 rows affected (0.59 sec)
mysql> INSERT INTO DemoTable VALUES
('1995-01-21', CURDATE()), ('1998-11-01', CURDATE()), ('2000-10-24', CURDATE());
Query OK, 3 rows affected
সব রেকর্ড (CURDATE() = 2019-07-08 ধরে)
mysql> SELECT * FROM DemoTable;
+---------------------+---------------------+ | DOB | CurrentDate | +---------------------+---------------------+ | 1995-01-21 00:00:00 | 2019-07-08 00:00:00 | | 1998-11-01 00:00:00 | 2019-07-08 00:00:00 | | 2000-10-24 00:00:00 | 2019-07-08 00:00:00 | +---------------------+---------------------+
বয়স > ২৩ বছর বের করা
mysql> SELECT * FROM DemoTable WHERE (DATEDIFF(CurrentDate, DOB) / 365) > 23;
+---------------------+---------------------+ | DOB | CurrentDate | +---------------------+---------------------+ | 1995-01-21 00:00:00 | 2019-07-08 00:00:00 | +---------------------+---------------------+
উন্নত পদ্ধতি (MySQL 8.0+)
-- TIMESTAMPDIFF দিয়ে সঠিক বয়স (লিপ ইয়ার হ্যান্ডেল) SELECT *, TIMESTAMPDIFF(YEAR, DOB, CurrentDate) AS age FROM DemoTable WHERE TIMESTAMPDIFF(YEAR, DOB, CurrentDate) > 23;
মনে রাখবেন
DATEDIFF→ দিনের পার্থক্য (টাইম অংশ উপেক্ষা)TIMESTAMPDIFF(UNIT, dt1, dt2)→ YEAR, MONTH, DAY, HOUR ইত্যাদি ইউনিট সাপোর্ট- লিপ ইয়ার (৩৬৬ দিন) হ্যান্ডেল করতে
TIMESTAMPDIFFবেস্ট