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

फंक्शन की मदद से दो डेट मानों के बीच वर्ष, महीना और दिनों में अंतर कैसे लौटाएं

हम एक फंक्शन बना सकते हैं, जो डेट मानों को अपने आर्गुमेंट के रूप में स्वीकार करता है और वर्ष, महीना और दिनों में अंतर लौटाता है:

mysql> CREATE FUNCTION date_difference(date1 DATE, date2 DATE) RETURNS VARCHAR(30)
    -> RETURN CONCAT(
    -> @years := TIMESTAMPDIFF(YEAR, date1, date2), IF (@years = 1, ' year, ', ' years, '),
    -> @months := TIMESTAMPDIFF(MONTH, DATE_ADD(date1, INTERVAL @years YEAR), date2), IF (@months = 1, ' month, ', ' months, '),
    -> @days := TIMESTAMPDIFF(DAY, DATE_ADD(date1, INTERVAL @years * 12 + @months MONTH), date2), IF (@days = 1, ' day', ' days')
    -> );
Query OK, 0 rows affected (0.00 sec)

अब, फंक्शन date_difference में आर्गुमेंट के रूप में डेट मान पास करें:

mysql> SELECT date_difference('2015-11-16','2016-12-17') AS Difference;
+------------------------+
| Difference             |
+------------------------+
| 1 year, 1 month, 1 day |
+------------------------+

उपरोक्त परिणाम सेट फंक्शन के आर्गुमेंट के रूप में निर्दिष्ट दो डेट्स के बीच अंतर देता है।

व्याख्या: फंक्शन पहले वर्षों का अंतर निकालता है, फिर शेष महीने, फिर शेष दिन। यह सटीक मानव-पठनीय अंतर देता है।

  1. - MySQL में महीने के अनुसार टेबल में मानों का योग कैसे करें

    EXTRACT(MONTH FROM ...) और GROUP BY के साथ मासिक योग इसके लिए EXTRACT() का उपयोग करें, जो विशिष्ट महीने के रिकॉर्ड निकालने की अनुमति देता है। उदाहरण के लिए, जनवरी में सभी कीमतों को जोड़ना (वर्ष की परवाह किए बिना)। पहले टेबल बनाएं: create table DemoTable1415 ( ProductPurchaseDate date, ProductPrice

  1. - MySQL DATE फ़ंक्शन: वर्तमान तिथि और जॉइनिंग तिथि के बीच अंतर ज्ञात करें

    MySQL में DATEDIFF() का उपयोग करके तिथि अंतर गणना MySQL में DATEDIFF() फ़ंक्शन दो तिथियों के बीच दिनों का अंतर लौटाता है। वर्तमान तिथि के लिए CURDATE() और स्ट्रिंग को तिथि में बदलने के लिए STR_TO_DATE() का उपयोग करें। वर्तमान तिथि जांचना SELECT CURDATE(); +------------+ | curdate() | +-----------

  1. - MySQL में TIMESTAMPDIFF का उपयोग करके दो DATETIME मानों के बीच अंतर ज्ञात करें

    MySQL में दो DATETIME मानों के बीच अंतर की गणना MySQL में TIMESTAMPDIFF() फ़ंक्शन दो डेटाइम मानों के बीच निर्दिष्ट इकाई (सेकंड, मिनट, घंटे, दिन, आदि) में अंतर लौटाता है। DATEDIFF() के विपरीत जो केवल दिन लौटाता है, TIMESTAMPDIFF लचीला है। टेबल बनाना ); Query OK, 0 rows affected (0.86 sec) डेटा डाल