MySQL में, आप DATEDIFF()
. का उपयोग कर सकते हैं दो तिथियों के बीच अंतर खोजने के लिए कार्य करें। जिस तरह से यह काम करता है, आप दो तर्क प्रदान करते हैं (प्रत्येक तिथि के लिए एक), और DATEDIFF()
दो तिथियों के बीच दिनों की संख्या लौटाएगा।
नीचे दिए गए उदाहरण।
सिंटैक्स
सबसे पहले, यहाँ सिंटैक्स है:
DATEDIFF(expr1,expr2)
जहां expr1
पहली तारीख है, और expr2
दूसरी तारीख है।
उदाहरण 1 - मूल उपयोग
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
SELECT DATEDIFF('2020-10-30', '2020-10-01') AS 'Result';
परिणाम:
+--------+ | Result | +--------+ | 29 | +--------+
इस उदाहरण में, पहली तारीख दूसरी तारीख के बाद की है। इस मामले में हमें सकारात्मक वापसी मूल्य मिलता है।
उदाहरण 2 - पहले की तारीख से तुलना करें
जरूरी नहीं कि पहली तारीख दूसरी तारीख से बाद की तारीख हो। आप पहले तर्क के लिए पहले की तारीख का उपयोग कर सकते हैं और यह एक नकारात्मक मान लौटाएगा। यदि हम उन दो तर्कों की अदला-बदली करते हैं, तो हमें निम्नलिखित मिलते हैं:
SELECT DATEDIFF('2020-10-01', '2020-10-30') AS 'Result';
परिणाम:
+--------+ | Result | +--------+ | -29 | +--------+
उदाहरण 3 - डेटाटाइम मान
जब डेटाटाइम . के साथ उपयोग किया जाता है मान, तिथियों की तुलना करने के लिए केवल दिनांक भाग का उपयोग किया जाता है। उदाहरण:
SELECT DATEDIFF('2020-10-30 23:59:59', '2020-10-01') AS 'Result 1', DATEDIFF('2020-10-01 23:59:59', '2020-10-30') AS 'Result 2';
परिणाम:
+----------+----------+ | Result 1 | Result 2 | +----------+----------+ | 29 | -29 | +----------+----------+
उदाहरण 4 - डेटाबेस क्वेरी
यहां DATEDIFF()
का उपयोग करने का एक उदाहरण दिया गया है डेटाबेस क्वेरी में। इस उदाहरण में, मैं payment_date
. की तुलना करता हूं आज की तारीख वाला कॉलम (CURDATE()
. का उपयोग करके) आज की तारीख वापस करने के लिए कार्य):
USE sakila; SELECT DATE(payment_date) AS 'Date/Time', CURDATE(), DATEDIFF(payment_date, CURDATE()) AS 'Date' FROM payment WHERE payment_id = 1;
परिणाम:
+------------+------------+-------+ | Date/Time | CURDATE() | Date | +------------+------------+-------+ | 2005-05-25 | 2018-06-25 | -4779 | +------------+------------+-------+