MySQL में, हम दिनांक की गणना के लिए निम्नलिखित कार्यों का उपयोग कर सकते हैं -
- CURDATE() फ़ंक्शन - मूल रूप से यह कंप्यूटर की वर्तमान तिथि लौटाता है।
- YEAR() समारोह - यह निर्दिष्ट तिथि का वर्ष लौटाता है।
- MONTH() फ़ंक्शन - यह निर्दिष्ट तिथि का महीना लौटाता है।
- DAY() समारोह - यह निर्दिष्ट तिथि का दिन लौटाता है।
- RIGHT() फंक्शन - यह दिए गए दिनांक से फ़ंक्शन के भीतर निर्दिष्ट वर्णों की संख्या देता है। एक्सप्रेशन का वह हिस्सा जो राइट () फ़ंक्शन से रिटर्न की तुलना करता है, 1 या 0 का मूल्यांकन करता है।
इसे समझने के लिए, 'Collegedetail' नाम की तालिका से डेटा को इस प्रकार देखें -
mysql> Select * from Collegedetail; +------+---------+------------+ | ID | Country | Estb | +------+---------+------------+ | 111 | INDIA | 2010-05-01 | | 130 | INDIA | 1995-10-25 | | 139 | USA | 1994-09-25 | | 1539 | UK | 2001-07-23 | | 1545 | Russia | 2010-07-30 | +------+---------+------------+ 5 rows in set (0.00 sec)
निम्न क्वेरी में, हमने सभी भिन्न दिनांक फ़ंक्शंस का उपयोग करके DATE की गणना की -
mysql> Select ID, Estb, CURDATE(), YEAR(Estb), MONTH(Estb), DAY(Estb), (RIGHT(CURDATE(),5) < RIGHT(estb,5))As 'Return' FROM Collegedetail; +------+------------+------------+------------+-------------+-----------+--------+ | ID | Estb | CURDATE() | YEAR(Estb) | MONTH(Estb) | DAY(Estb) | Return | +------+------------+------------+------------+-------------+-----------+--------+ | 111 | 2010-05-01 | 2017-11-30 | 2010 | 5 | 1 | 0 | | 130 | 1995-10-25 | 2017-11-30 | 1995 | 10 | 25 | 0 | | 139 | 1994-09-25 | 2017-11-30 | 1994 | 9 | 25 | 0 | | 1539 | 2001-07-23 | 2017-11-30 | 2001 | 7 | 23 | 0 | | 1545 | 2010-07-30 | 2017-11-30 | 2010 | 7 | 30 | 0 | +------+------------+------------+------------+-------------+-----------+--------+ 5 rows in set (0.00 sec) mysql> Select ID, estb, CURDATE(),((YEAR(CURDATE())-YEAR(estb))-(RIGHT(CURDATE(),5)<RIGHT(estb,5))) AS 'YEARS_OLD' from collegedetail; +------+------------+------------+-----------+ | ID | estb | CURDATE() | YEARS_OLD | +------+------------+------------+-----------+ | 111 | 2010-05-01 | 2017-11-30 | 7 | | 130 | 1995-10-25 | 2017-11-30 | 22 | | 139 | 1994-09-25 | 2017-11-30 | 23 | | 1539 | 2001-07-23 | 2017-11-30 | 16 | | 1545 | 2010-07-30 | 2017-11-30 | 7 | +------+------------+------------+-----------+ 5 rows in set (0.00 sec)