Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में DOB (जन्म तिथि) से उम्र (Age) कैसे निकालें

MySQL में जन्म तिथि से वर्तमान उम्र की गणना

MySQL में उम्र निकालने का सामान्य तरीका: वर्तमान वर्ष में से जन्म वर्ष घटाएं।

बुनियादी सिंटैक्स:

SELECT yourColumnName1, yourColumnName2, ..., 
       YEAR(CURDATE()) - YEAR(yourDOBColumnName) AS anyVariableName 
FROM yourTableName;

व्यावहारिक उदाहरण

1. टेबल बनाएं:

mysql> CREATE TABLE AgeDemo (
    -> StudentId INT,
    -> StudentName VARCHAR(100),
    -> StudentDOB DATE
    -> ); 
Query OK, 0 rows affected (0.61 sec)

2. डेटा डालें:

mysql> INSERT INTO AgeDemo VALUES(1,'John','1998-10-1');
mysql> INSERT INTO AgeDemo VALUES(2,'Carol','1990-1-2');
mysql> INSERT INTO AgeDemo VALUES(3,'Sam','2000-12-1');
mysql> INSERT INTO AgeDemo VALUES(4,'Mike','2010-10-11');

3. सभी रिकॉर्ड:

+-----------+-------------+------------+ 
| StudentId | StudentName | StudentDOB | 
+-----------+-------------+------------+ 
| 1         | John        | 1998-10-01 | 
| 2         | Carol       | 1990-01-02 | 
| 3         | Sam         | 2000-12-01 | 
| 4         | Mike        | 2010-10-11 | 
+-----------+-------------+------------+ 
4 rows in set (0.00 sec)

4. उम्र निकालें:

mysql> SELECT StudentName, StudentDOB, 
    -> YEAR(CURDATE()) - YEAR(StudentDOB) AS StudentAge 
    -> FROM AgeDemo;
+-------------+------------+------------+ 
| StudentName | StudentDOB | StudentAge | 
+-------------+------------+------------+ 
| John        | 1998-10-01 | 21         | 
| Carol       | 1990-01-02 | 29         | 
| Sam         | 2000-12-01 | 19         | 
| Mike        | 2010-10-11 | 9          | 
+-------------+------------+------------+ 
4 rows in set (0.03 sec)

⚠️ इस विधि की सीमा

यह विधि केवल वर्ष का अंतर देती है। अगर आज जन्मदिन नहीं आया है, तो उम्र 1 वर्ष अधिक दिखेगी।

सटीक उम्र के लिए बेहतर क्वेरी:

SELECT 
    StudentName,
    StudentDOB,
    TIMESTAMPDIFF(YEAR, StudentDOB, CURDATE()) AS ExactAge
FROM AgeDemo;

TIMESTAMPDIFF(YEAR, start, end) पूर्ण वर्षों का अंतर देता है, महीने/दिन को ध्यान में रखते हुए।

अन्य उपयोगी फंक्शन:

फंक्शनविवरण
DATEDIFF(date1, date2)दिनों में अंतर
TIMESTAMPDIFF(MONTH, dob, CURDATE())महीनों में उम्र
FLOOR(DATEDIFF(CURDATE(), dob)/365.25)अनुमानित वर्ष (लीप वर्ष सहित)
  1. - MySQL में SELECT क्वेरी से विशिष्ट कॉलम रिकॉर्ड कैसे प्राप्त करें?

    MySQL में किसी टेबल से केवल विशिष्ट कॉलम के डेटा को प्राप्त करना बहुत आसान है। इसके लिए SELECT * के बजाय केवल उस कॉलम का नाम लिखें जिसे आप देखना चाहते हैं। उदाहरण के साथ समझें सबसे पहले एक डेमो टेबल बनाते हैं: mysql> CREATE TABLE DemoTable1837 ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY

  1. - MySQL में यूज़र-डिफ़ाइन्ड वेरिएबल से एक कॉलम का मान दूसरे कॉलम से प्राप्त करें

    MySQL में यूज़र-डिफ़ाइन्ड वेरिएबल (@var) का उपयोग करके पिछली पंक्ति के मान के आधार पर वर्तमान पंक्ति के लिए चल योग (क्यूमुलेटिव सम) या अन्य व्युत्पन्न मान की गणना कर सकते हैं। टेबल बनाएं mysql> CREATE TABLE DemoTable1868 (Value INT); डेटा डालें mysql> INSERT INTO DemoTable1868 VALUES(10), (2

  1. - MySQL में विशिष्ट पंक्ति प्राप्त करना

    WHERE, ORDER BY और LIMIT से विशिष्ट पंक्ति चुनें टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1972 ( Section char(1), StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTable1972 values(D,Chris); ... क्वेरी: C से बड़े सेक्शन को क्रमबद्ध करके पहले 2