MySQL TIMEDIFF()
फ़ंक्शन दो समय या डेटाटाइम मानों के बीच का अंतर देता है।
जिस तरह से यह काम करता है, आप तुलना करने के लिए दो मान प्रदान करते हैं, और TIMEDIFF()
पहले से दूसरे मान को घटाता है, फिर परिणाम को समय मान के रूप में लौटाता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
TIMEDIFF(expr1,expr2)
जहां expr1
और expr2
तुलना करने के लिए दो मान हैं। वापसी मूल्य expr2
. है expr1
. से घटाया गया ।
मूल उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
SELECT TIMEDIFF('11:35:25', '10:35:25');
परिणाम:
+----------------------------------+ | TIMEDIFF('11:35:25', '10:35:25') | +----------------------------------+ | 01:00:00 | +----------------------------------+
बीता हुआ समय
समय मान बीते हुए समय का प्रतिनिधित्व कर सकता है, इसलिए यह 24 घंटे से कम समय तक सीमित नहीं है।
SELECT TIMEDIFF('500:35:25', '10:35:25');
परिणाम:
+-----------------------------------+ | TIMEDIFF('500:35:25', '10:35:25') | +-----------------------------------+ | 490:00:00 | +-----------------------------------+
नकारात्मक समय अंतर
यदि दूसरा मान पहले से बड़ा है, तो आपको समय अंतर के लिए ऋणात्मक मान प्राप्त होगा। यह पूरी तरह से मान्य है।
SELECT TIMEDIFF('10:35:25', '500:35:25');
परिणाम:
+-----------------------------------+ | TIMEDIFF('10:35:25', '500:35:25') | +-----------------------------------+ | -490:00:00 | +-----------------------------------+
डेटाटाइम मान
यहां एक उदाहरण दिया गया है जो तर्क के रूप में डेटाटाइम मानों का उपयोग करता है।
SELECT TIMEDIFF('2021-02-01 10:35:25', '2021-01-01 10:35:25');
परिणाम:
+--------------------------------------------------------+ | TIMEDIFF('2021-02-01 10:35:25', '2021-01-01 10:35:25') | +--------------------------------------------------------+ | 744:00:00 | +--------------------------------------------------------+
ध्यान दें कि दोनों तर्क एक ही प्रकार के होने चाहिए। इसलिए आपके पास पहले के लिए समय मान और दूसरे के लिए डेटाटाइम मान (और इसके विपरीत) नहीं हो सकता है।
यह भी ध्यान दें कि समय डेटा प्रकार केवल -838:59:59 . की सीमा में हो सकता है से 838:59:59 . इसलिए, निम्नलिखित काम नहीं करता:
SELECT TIMEDIFF('2000-01-01 10:35:25', '2021-01-01 10:35:25');
परिणाम:
+--------------------------------------------------------+ | TIMEDIFF('2000-01-01 10:35:25', '2021-01-01 10:35:25') | +--------------------------------------------------------+ | -838:59:59 | +--------------------------------------------------------+ 1 row in set, 1 warning (0.00 sec)
इस मामले में, हमें गलत परिणाम और चेतावनी मिलती है।