मारियाडीबी में, DATEDIFF()
एक अंतर्निहित दिनांक और समय फ़ंक्शन है जो दो तिथियों के बीच के दिनों में अंतर लौटाता है।
यह दो तर्कों को स्वीकार करता है, जिनमें से दोनों दिनांक या डेटाटाइम एक्सप्रेशन हैं। फिर यह दूसरी तारीख को पहली तारीख से घटा देता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
DATEDIFF(expr1,expr2)
इसके बाद यह expr1 - expr2
returns लौटाता है ।
उदाहरण
यहां एक उदाहरण दिया गया है:
SELECT DATEDIFF('2030-01-25', '2030-01-20');
परिणाम:
+--------------------------------------+ | DATEDIFF('2030-01-25', '2030-01-20') | +--------------------------------------+ | 5 | +--------------------------------------+
यहाँ यह फिर से है, लेकिन तारीखों की अदला-बदली के साथ:
SELECT DATEDIFF('2030-01-20', '2030-01-25');
परिणाम:
+--------------------------------------+ | DATEDIFF('2030-01-20', '2030-01-25') | +--------------------------------------+ | -5 | +--------------------------------------+
डेटाटाइम मान
यहां एक उदाहरण दिया गया है जो डेटाटाइम मानों का उपयोग करता है:
SELECT DATEDIFF('2030-01-25 00:00:00', '2030-01-20 23:59:59');
परिणाम:
+--------------------------------------------------------+ | DATEDIFF('2030-01-25 00:00:00', '2030-01-20 23:59:59') | +--------------------------------------------------------+ | 5 | +--------------------------------------------------------+
यहां एक और उदाहरण दिया गया है:
SELECT DATEDIFF('2030-01-25 00:00:00', '2030-01-25 23:59:59');
परिणाम:
+--------------------------------------------------------+ | DATEDIFF('2030-01-25 00:00:00', '2030-01-25 23:59:59') | +--------------------------------------------------------+ | 0 | +--------------------------------------------------------+
इस मामले में, भले ही यह लगभग एक पूरा दिन था, यह काफी नहीं था, और इसलिए परिणाम 0
है ।
वर्तमान तिथि
यहां, हम NOW()
pass पास करते हैं दूसरे तर्क के रूप में:
SELECT
NOW(),
DATEDIFF('2030-01-20', NOW());
परिणाम:
+---------------------+-------------------------------+ | NOW() | DATEDIFF('2030-01-20', NOW()) | +---------------------+-------------------------------+ | 2021-05-10 10:03:08 | 3177 | +---------------------+-------------------------------+
इस मामले में अब और दूसरी तारीख के बीच 3,177 दिन हैं।
अमान्य तर्क
जब कोई अमान्य तर्क पारित किया जाता है, DATEDIFF()
रिटर्न null
:
SELECT DATEDIFF('Homer', 'Simpson');
परिणाम:
+------------------------------+ | DATEDIFF('Homer', 'Simpson') | +------------------------------+ | NULL | +------------------------------+
अनुपलब्ध तर्क
कॉलिंग DATEDIFF()
तर्कों की गलत संख्या, या कोई तर्क पारित किए बिना, एक त्रुटि उत्पन्न होती है:
SELECT DATEDIFF();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DATEDIFF'
और:
SELECT DATEDIFF('2030-05-21');
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DATEDIFF'