MySQL TIMESTAMPDIFF() फ़ंक्शन का उपयोग दो दिनांक या डेटाटाइम अभिव्यक्तियों के बीच अंतर खोजने के लिए किया जाता है। आपको दो दिनांक/डेटाटाइम मानों के साथ-साथ अंतर निर्धारित करने के लिए उपयोग की जाने वाली इकाई (उदा., दिन) में पास करने की आवश्यकता है , माह , आदि)। TIMESTAMPDIFF() फ़ंक्शन तब निर्दिष्ट इकाई में अंतर लौटाएगा।
सिंटैक्स
सबसे पहले, यहां बताया गया है कि सिंटैक्स कैसे जाता है:
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)
यहाँ, unit अंतर को व्यक्त करने के लिए उपयोग की जाने वाली इकाई है (जैसे दिन, महीना, वर्ष, आदि)। datetime_expr1 पहली तारीख/डेटाटाइम मान है, और datetime_expr2 दूसरा है।
यह फ़ंक्शन datetime_expr1 . को घटाता है datetime_expr2 . से और परिणाम को unit . में लौटाता है एस। परिणाम एक पूर्णांक के रूप में लौटाया जाता है।
मान्य इकाइयां
unit तर्क निम्न में से कोई भी हो सकता है:
MICROSECOND-
SECOND MINUTEHOURDAYWEEKMONTHQUARTERYEAR
उदाहरण 1 - दिनों में अंतर
इस फ़ंक्शन के मूल उपयोग को प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है। यहां हम दो तारीख के भावों की तुलना करते हैं और उनके बीच के अंतर को दिनों में लौटाते हैं।
SELECT TIMESTAMPDIFF(DAY,'2022-02-01','2022-02-21') AS 'Difference in Days';
परिणाम:
+--------------------+ | Difference in Days | +--------------------+ | 20 | +--------------------+
उदाहरण 2 - घंटों में अंतर
इस उदाहरण में हम पिछले उदाहरण के समान मानों की तुलना करते हैं, यहां को छोड़कर, हम अंतर को घंटे में लौटाते हैं ।
SELECT TIMESTAMPDIFF(HOUR,'2022-02-01','2022-02-21') AS 'Difference in Hours';
परिणाम:
+---------------------+ | Difference in Hours | +---------------------+ | 480 | +---------------------+
उदाहरण 3 - एक 'डेटाटाइम' उदाहरण
यहां एक उदाहरण दिया गया है जो मिनटों में अंतर लौटाता है। इस मामले में, हम दो डेटाटाइम मानों की तुलना करते हैं (जैसा कि पिछले उदाहरणों में केवल दिनांक मानों के विपरीत है)।
SELECT TIMESTAMPDIFF(MINUTE,'2022-02-01 10:30:27','2022-02-01 10:45:27') AS 'Difference in Minutes';
परिणाम:
+-----------------------+ | Difference in Minutes | +-----------------------+ | 15 | +-----------------------+
उदाहरण 4 - भिन्नात्मक सेकंड
जरूरत पड़ने पर आप माइक्रोसेकंड (6 अंक) तक जा सकते हैं।
SELECT TIMESTAMPDIFF(MICROSECOND,'2022-02-01 10:30:27.000000','2022-02-01 10:30:27.123456') AS 'Difference in Microseconds';
परिणाम:
+----------------------------+ | Difference in Microseconds | +----------------------------+ | 123456 | +----------------------------+
उदाहरण 5 - नकारात्मक परिणाम
जैसा कि अपेक्षित होगा, यदि पहली तिथि/समय तर्क दूसरे से अधिक है, तो परिणाम एक ऋणात्मक पूर्णांक होगा।
SELECT TIMESTAMPDIFF(DAY,'2022-02-21','2022-02-01') AS 'Difference in Days';
परिणाम:
+--------------------+ | Difference in Days | +--------------------+ | -20 | +--------------------+