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

MySQL-এ DATEDIFF দিয়ে দুটি DATETIME কলামের পার্থক্য ও বয়স গণনা

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 বেস্ট
  1. MySQL-এ কারেন্ট ডেট ও টেবিলের ডেট রেকর্ডের পার্থক্য বের করা

  2. MySQL-এ দুটি ডেটাটাইম মানের পার্থক্য বের করা

  3. MySQL-এ TIMESTAMPDIFF() ব্যবহার করে দুটি তারিখের মাঝপথের মাসের পার্থক্য বের করুন

  4. MySQL-এ != NULL এবং IS NOT NULL-এর পার্থক্য