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

क्या MySQL क्वेरी में BirthDate कॉलम से आयु प्राप्त कर सकते हैं?

हां, MySQL में DATEDIFF() फ़ंक्शन और वर्तमान दिनांक का उपयोग करके आप जन्म दिनांक से आयु की गणना कर सकते हैं। परिणाम वर्षों में अनुमानित आयु देता है।

उदाहरण तालिका बनाना

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    DateOfBirth DATE
);

जन्म दिनांक डालना

mysql> INSERT INTO DemoTable (DateOfBirth) VALUES 
    -> ('2010-01-21'), ('1993-04-02'), ('1999-12-01'), ('1998-11-16'), ('2004-03-19');

डेटा देखना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+----+-------------+
| Id | DateOfBirth |
+----+-------------+
| 1  | 2010-01-21  |
| 2  | 1993-04-02  |
| 3  | 1999-12-01  |
| 4  | 1998-11-16  |
| 5  | 2004-03-19  |
+----+-------------+

आयु की गणना करना (वर्षों में)

mysql> SELECT CAST(DATEDIFF(CURDATE(), DateOfBirth) / 365.25 AS UNSIGNED) AS AGE FROM DemoTable;

आउटपुट (मान लें आज 2019-04-09 है):

+------+
| AGE  |
+------+
| 9    |
| 26   |
| 19   |
| 20   |
| 15   |
+------+

आयु रेंज द्वारा फ़िल्टर करना (20-26 वर्ष)

mysql> SELECT * FROM DemoTable 
    -> WHERE YEAR(CURDATE()) - YEAR(DateOfBirth) BETWEEN 20 AND 26;

आउटपुट:

+----+-------------+
| Id | DateOfBirth |
+----+-------------+
| 2  | 1993-04-02  |
| 3  | 1999-12-01  |
| 4  | 1998-11-16  |
+----+-------------+

व्याख्या:

  • DATEDIFF(date1, date2) - दो दिनांकों के बीच दिनों का अंतर
  • CURDATE() - वर्तमान दिनांक
  • / 365.25 - लीप वर्ष के लिए औसत दिन प्रति वर्ष
  • CAST(... AS UNSIGNED) - पूर्णांक में बदलता है (दशमलव हटाता है)

अधिक सटीक आयु गणना:

SELECT FLOOR(DATEDIFF(CURDATE(), DateOfBirth) / 365.25) AS Age FROM DemoTable;

या सटीक वर्ष गणना के लिए:

SELECT TIMESTAMPDIFF(YEAR, DateOfBirth, CURDATE()) AS Age FROM DemoTable;

TIMESTAMPDIFF लीप वर्ष और महीना/दिन को सही ढंग से संभालता है।

  1. - MySQL में चौथा सबसे बड़ा मान कैसे प्राप्त करें

    LIMIT OFFSET के साथ N-वां सबसे बड़ा मान अवरोही क्रम में क्रमबद्ध करके LIMIT 1 OFFSET N-1 से N-वां सबसे बड़ा मान प्राप्त करें। चौथे सबसे बड़े के लिए OFFSET 3। टेबल और डेटा CREATE TABLE DemoTable ( Amount INT ); Query OK, 0 rows affected (0.88 sec) INSERT INTO DemoTable VALUES(198); Query OK,

  1. - MySQL में UPDATE का उपयोग करके कॉलम मान रिप्लेस करना

    WHERE क्लॉज के साथ विशिष्ट पंक्ति का कॉलम मान अपडेट करना किसी विशिष्ट पंक्ति के कॉलम मान को बदलने के लिए UPDATE के साथ SET और WHERE का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Score INT ); रिकॉर्ड्स इन्सर्ट

  1. - MySQL क्वेरी में कॉलम विभाजित करके मासिक वेतन कैसे निकालें?

    MySQL में वार्षिक वेतन कॉलम से मासिक वेतन निकालने के लिए, साधारण अंकगणित ऑपरेटर / (भाग) का उपयोग करें। परिणाम को नए कॉलम उपनाम (alias) के साथ चुनें। उदाहरण: EmployeeSalary से MonthlySalary निकालना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1957 ( EmployeeId INT, EmployeeName VARCHAR