हम एक फ़ंक्शन बना सकते हैं, जो दिनांक मानों को इसके तर्क के रूप में स्वीकार करता है और वर्ष, महीने और दिनों में अंतर को निम्नानुसार लौटाता है
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 row in set (0.00 sec)
उपरोक्त परिणाम सेट फ़ंक्शन के तर्क के रूप में दो निर्दिष्ट तिथियों के बीच का अंतर देता है।