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

MySQL-এ জন্ম তারিখ থেকে বয়স (বছর) গণনা করা

জন্ম তারিখ থেকে বয়স (বছর) গণনার পদ্ধতি:

উদাহরণ

mysql> SET @dob = '1984-01-17';
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(CURDATE()) - TO_DAYS(@dob)), '%Y') + 0 AS 'Age in years';
+---------------+
| Age in years  |
+---------------+
| 33            |
+---------------+

ব্যাখ্যা

  1. TO_DAYS(@dob): জন্ম তারিখকে দিনের সংখ্যায় রূপান্তর (দিন ০ থেকে গণনা)।
  2. TO_DAYS(CURDATE()): আজকের তারিখকে দিনের সংখ্যায় রূপান্তর।
  3. বিয়োগ: মোট দিনের পার্থক্য।
  4. FROM_DAYS(...): দিনের পার্থক্যকে তারিখ অবজেক্টে রূপান্তর (০০০০-০০-০০ থেকে গণনা)।
  5. DATE_FORMAT(..., '%Y'): সেসব দিনের বছর অংশ বের করা (যা বয়স)।
  6. + 0: স্ট্রিংকে সংখ্যায় রূপান্তর।

সহজ বিকল্প (MySQL 8.0+)

SELECT TIMESTAMPDIFF(YEAR, @dob, CURDATE()) AS age;

TIMESTAMPDIFF(YEAR, start, end) সরাসরি পূর্ণ বছরের পার্থক্য দেয়, যা আরও সহজ ও পঠনযোগ্য।

  1. MySQL-এ কম্পাউন্ড INTERVAL ইউনিট কীভাবে ব্যবহার করবেন?

  2. MySQL-এ স্ট্রিং থেকে সাবস্ট্রিং এক্সট্র্যাক্ট করার পদ্ধতি

  3. MySQL ইউজার থেকে প্রিভিলেজ রিভোক (বাতিল) কীভাবে করবেন?

  4. MySQL-এ শেষ ১০টি সারি কীভাবে বের করবেন?