मारियाडीबी में, SUBTIME()
एक अंतर्निहित दिनांक और समय फ़ंक्शन है जो किसी समय या डेटाटाइम अभिव्यक्ति से राशि घटाता है।
यह आपको उस एक्सप्रेशन को पास करके एक टाइम या डेटाटाइम एक्सप्रेशन बदलने की अनुमति देता है, साथ ही उस एक्सप्रेशन से घटाने के लिए टाइम एक्सप्रेशन भी देता है। यदि आपको जोड़ने . की आवश्यकता हो तो आप एक ऋणात्मक राशि पास कर सकते हैं समय की अभिव्यक्ति के लिए।
सिंटैक्स
वाक्य रचना इस प्रकार है:
SUBTIME(expr1,expr2)
जहां expr1
एक समय या डेटाटाइम अभिव्यक्ति है, और expr2
एक समय अभिव्यक्ति है।
उदाहरण
यहां एक उदाहरण दिया गया है:
SELECT SUBTIME('10:00:00', '02:30:45');
परिणाम:
+---------------------------------+ | SUBTIME('10:00:00', '02:30:45') | +---------------------------------+ | 07:29:15 | +---------------------------------+
डेटाटाइम एक्सप्रेशन
पहला तर्क डेटाटाइम एक्सप्रेशन भी हो सकता है:
SELECT SUBTIME('2021-05-01 10:00:00', '22:30:45');
परिणाम:
+--------------------------------------------+ | SUBTIME('2021-05-01 10:00:00', '22:30:45') | +--------------------------------------------+ | 2021-04-30 11:29:15 | +--------------------------------------------+
इस मामले में, तारीख को पिछले दिन और महीने में वापस लाने के लिए पर्याप्त समय घटाया गया था।
लूसर फ़ॉर्मेट में टाइम एक्सप्रेशन
मारियाडीबी कमजोर प्रारूपों में समय के असाइनमेंट की अनुमति देता है, जैसे अग्रणी शून्य छोड़ना और दिन के लिए एक मूल्य प्रदान करना।
इसलिए, हम यह कर सकते हैं:
SELECT SUBTIME('2021-05-01 10:00:00', '366 1:1:1.123456');
परिणाम:
+----------------------------------------------------+ | SUBTIME('2021-05-01 10:00:00', '366 1:1:1.123456') | +----------------------------------------------------+ | 2020-04-30 08:58:58.876544 | +----------------------------------------------------+
नकारात्मक अंतराल
दिन के हिस्से के लिए ऋणात्मक अंतराल प्रदान करना जोड़ता है वह राशि समय/दिनांक समय तक।
उदाहरण:
SELECT SUBTIME('2021-05-01 10:00:00', '-366 1:1:1.123456');
परिणाम:
+-----------------------------------------------------+ | SUBTIME('2021-05-01 10:00:00', '-366 1:1:1.123456') | +-----------------------------------------------------+ | 2022-05-02 11:01:01.123456 | +-----------------------------------------------------+
अशक्त तर्क
यदि कोई तर्क null
है , परिणाम null
. है :
SELECT
SUBTIME('10:00:00', null),
SUBTIME(null, '02:30:45'),
SUBTIME(null, null);
परिणाम:
+---------------------------+---------------------------+---------------------+ | SUBTIME('10:00:00', null) | SUBTIME(null, '02:30:45') | SUBTIME(null, null) | +---------------------------+---------------------------+---------------------+ | NULL | NULL | NULL | +---------------------------+---------------------------+---------------------+
अनुपलब्ध तर्क
कॉलिंग SUBTIME()
तर्कों की गलत संख्या के साथ, या बिना कोई तर्क पारित किए त्रुटि उत्पन्न होती है:
SELECT SUBTIME();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SUBTIME'