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

MySQL में DOB से उम्र कैसे क्वेरी करें?

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

MySQL में जन्म तिथि से उम्र की गणना करने के लिए DATE_SUB(), INTERVAL, या TIMESTAMPDIFF() फ़ंक्शन का उपयोग किया जा सकता है।

उदाहरण के साथ पूर्ण कार्यान्वयन

टेबल बनाना

mysql> CREATE TABLE DemoTable611 (DOB DATE);

रिकॉर्ड डालना

mysql> INSERT INTO DemoTable611 VALUES('1996-04-21'), ('2001-01-31'), ('2004-12-21'), ('2000-02-03');

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable611;

आउटपुट:

+------------+
| DOB        |
+------------+
| 1996-04-21 |
| 2001-01-31 |
| 2004-12-21 |
| 2000-02-03 |
+------------+
4 rows in set (0.00 sec)

16 वर्ष या उससे कम उम्र के लोग (कम से कम 16 साल पहले जन्मे)

mysql> SELECT * FROM DemoTable611 
WHERE DOB >= (CURDATE() - INTERVAL 16 YEAR);

आउटपुट (मान लें आज 2020-07-14 है):

+------------+
| DOB        |
+------------+
| 2004-12-21 |
+------------+
1 row in set (0.00 sec)

व्याख्या: CURDATE() - INTERVAL 16 YEAR आज से 16 साल पहले की तारीख देता है। जिनका DOB इस तारीख के बाद या बराबर है, वे 16 साल या उससे कम उम्र के हैं।

सटीक उम्र की गणना करने के बेहतर तरीके

विधि 1: TIMESTAMPDIFF() (सबसे सटीक)
SELECT DOB, 
       TIMESTAMPDIFF(YEAR, DOB, CURDATE()) AS age
FROM DemoTable611;

यह जन्मदिन को सही ढंग से संभालता है (उम्र जन्मदिन पर ही बढ़ती है)।

विधि 2: DATEDIFF() के साथ गणना
SELECT DOB,
       FLOOR(DATEDIFF(CURDATE(), DOB) / 365.25) AS approx_age
FROM DemoTable611;

अनुमानित; लीप वर्ष के कारण थोड़ा गलत हो सकता है।

विधि 3: YEAR() अंतर (सरल लेकिन कम सटीक)
SELECT DOB,
       YEAR(CURDATE()) - YEAR(DOB) - 
       (DATE_FORMAT(CURDATE(), '%m-%d') < DATE_FORMAT(DOB, '%m-%d')) AS age
FROM DemoTable611;

उम्र सीमा के लिए क्वेरी

-- 18-65 आयु वर्ग
SELECT * FROM DemoTable611
WHERE TIMESTAMPDIFF(YEAR, DOB, CURDATE()) BETWEEN 18 AND 65;

सिफारिश: सटीक उम्र गणना के लिए हमेशा TIMESTAMPDIFF(YEAR, DOB, CURDATE()) का उपयोग करें।

  1. - MySQL में जन्मतिथि से वर्षों में आयु कैसे गणना करें?

    हम जन्मतिथि से वर्षों में आयु निम्नानुसार गणना कर सकते हैं:mysql> SET @dob = 1984-01-17;Query OK, 0 rows affected (0.00 sec)यह उपरोक्त क्वेरी dob वेरिएबल में 1984-01-17 मान पास करेगी। फिर नीचे दी गई क्वेरी में फॉर्मूला लागू करके हम वर्षों में आयु प्राप्त कर सकते हैं।mysql> SELECT DATE_FORMAT(F

  1. MySQL से अंतिम 10 रो कैसे चुनें? MySQL से अंतिम 10 रो कैसे चुनें?

    MySQL से अंतिम 10 रो चुनने के लिए, हम SELECT स्टेटमेंट और LIMIT कॉन्सेप्ट के साथ सबक्वेरी का उपयोग कर सकते हैं। निम्न एक उदाहरण है। टेबल बनाना। mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) टेबल में रिकॉर

  1. - सोर्स से MySQL इंस्टॉल करना

    आइए समझते हैं कि MySQL को सोर्स से कैसे इंस्टॉल किया जा सकता है: MySQL को सोर्स कोड से बनाया जा सकता है। इसका लाभ यह है कि यह उपयोगकर्ता को बिल्ड पैरामीटर्स, कंपाइलर ऑप्टिमाइज़ेशन और इंस्टॉलेशन स्थान को कस्टमाइज़ करने की अनुमति देता है। नीचे दिया गया लिंक उन सिस्टम की सूची देता है जिन पर MySQL चला