MySQL में जन्म तिथि (DOB) से वर्तमान आयु (वर्षों में) की गणना करने के लिए TIMESTAMPDIFF() फ़ंक्शन का उपयोग किया जाता है। यह दो तिथियों के बीच निर्दिष्ट इकाई (YEAR, MONTH, DAY) में अंतर लौटाता है।
सिंटैक्स
SELECT TIMESTAMPDIFF(YEAR, yourDateColumn, CURRENT_DATE) AS Age FROM yourTableName;
उदाहरण के लिए टेबल बनाना
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
DateOfBirth DATETIME
);
डेटा डालना
mysql> INSERT INTO DemoTable(DateOfBirth) VALUES('1998-06-04 12:30:00'), ('2000-01-31 04:10:20'), ('2010-12-01 03:50:45');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+----+---------------------+ | Id | DateOfBirth | +----+---------------------+ | 1 | 1998-06-04 12:30:00 | | 2 | 2000-01-31 04:10:20 | | 3 | 2010-12-01 03:50:45 | +----+---------------------+
आयु की गणना
mysql> SELECT TIMESTAMPDIFF(YEAR, DateOfBirth, CURRENT_DATE) AS YourAge FROM DemoTable;
आउटपुट (मान लें वर्तमान तिथि 2019-06-09 है)
+---------+ | YourAge | +---------+ | 21 | | 19 | | 8 | +---------+
लाभ: TIMESTAMPDIFF() लीप वर्ष और महीने/दिन की सही गणना करता है। DATEDIFF()/365 से अधिक सटीक। MONTH या DAY इकाई का उपयोग करके महीने या दिनों में अंतर भी प्राप्त कर सकते हैं।