MariaDB में दिनांक और समय इकाइयों का एक समूह शामिल है जिसका उपयोग आप दिनांक और समय मानों के साथ काम करते समय कर सकते हैं। उदाहरण के लिए, MONTH
एक इकाई है, और HOUR
एक और इकाई है।
कुछ इकाइयाँ मिश्रित इकाइयाँ हैं। संयुक्त इकाइयाँ तब होती हैं जब दो इकाइयाँ एक में जुड़ जाती हैं। नामकरण परंपरा यह है कि प्रत्येक इकाई का नाम अंडरस्कोर द्वारा अलग किया जाता है। उदाहरण के लिए, MINUTE_SECOND
मिनट और सेकंड के लिए है।
नीचे कुछ उदाहरण दिए गए हैं जो दर्शाते हैं कि कैसे मारियाडीबी में मिश्रित इकाइयां काम करती हैं।
समग्र इकाइयों की सूची
सबसे पहले, यहां मारियाडीबी में उपलब्ध समग्र इकाइयों की सूची दी गई है:
इकाई | <थ>विवरण|
---|---|
SECOND_MICROSECOND | सेकंड.माइक्रोसेकंड |
MINUTE_MICROSECOND | मिनट.सेकंड.माइक्रोसेकंड |
MINUTE_SECOND | मिनट.सेकंड |
HOUR_MICROSECOND | घंटे.मिनट.सेकंड.माइक्रोसेकंड |
HOUR_SECOND | घंटे.मिनट.सेकंड |
HOUR_MINUTE | घंटे.मिनट |
DAY_MICROSECOND | दिन घंटे।मिनट।सेकंड।माइक्रोसेकंड |
DAY_SECOND | दिन घंटे।मिनट।सेकंड |
DAY_MINUTE | दिन घंटे.मिनट |
DAY_HOUR | दिन घंटे |
YEAR_MONTH | वर्ष-महीने |
उनके नाम देखने मात्र से ही पता चल जाता है कि वे क्या करते हैं।
दिनांक/समय मान के कुछ हिस्सों को निकालते समय, और दिनांक/समय मान में समय अंतराल को जोड़ने और घटाने जैसी चीज़ें करते समय भी समग्र इकाइयों (किसी भी दिनांक/समय इकाई के साथ) का उपयोग किया जा सकता है।
इनका उपयोग +
. के साथ किया जा सकता है और -
दिनांकों पर अंकगणित करते समय ऑपरेटर ADDDATE()
. जैसे कार्यों के साथ , SUBDATE()
, DATE_ADD()
, DATE_SUB()
, EXTRACT()
, TIMESTAMPADD()
, और TIMESTAMPDIFF()
.
इनका उपयोग ON SCHEDULE
. में भी किया जा सकता है CREATE_EVENT()
. का खंड और ALTER_EVENT()
कार्य।
उदाहरण - समग्र इकाइयों को निकालना
दिनांक और समय इकाइयों का उपयोग विभिन्न कार्यों के समूह और विभिन्न अन्य संदर्भों में किया जा सकता है। इन इकाइयों को स्वीकार करने वाले कार्यों में से एक है EXTRACT()
समारोह। यह फ़ंक्शन किसी दिए गए दिनांक या डेटाटाइम मान से एक निर्दिष्ट दिनांक/समय इकाई लौटाता है।
यहां एक तारीख से साल और महीने निकालने के लिए एक संयुक्त इकाई का उपयोग करने का एक उदाहरण दिया गया है:
SELECT EXTRACT(YEAR_MONTH FROM '2030-12-25');
परिणाम:
+---------------------------------------+ | EXTRACT(YEAR_MONTH FROM '2030-12-25') | +---------------------------------------+ | 203012 | +---------------------------------------+
हम देख सकते हैं कि साल और महीने को एक मान के रूप में लौटाया जाता है।
उदाहरण - समग्र इकाइयों को जोड़ना/घटाना
दिनांक और समय अंतराल को जोड़ने और घटाने के लिए समग्र इकाइयों का भी उपयोग किया जा सकता है।
उदाहरण:
SELECT '2030-12-25' + INTERVAL '2:08' DAY_HOUR;
परिणाम:
+-----------------------------------------+ | '2030-12-25' + INTERVAL '2:08' DAY_HOUR | +-----------------------------------------+ | 2030-12-27 08:00:00 | +-----------------------------------------+
इस मामले में, समग्र इकाई के संबंध में ध्यान रखने योग्य दो भाग हैं।
पिछले उदाहरण की तरह, हमने एक संयुक्त इकाई का उपयोग किया (इस मामले में DAY_HOUR
) जोड़ने के लिए वास्तविक अंतराल के संबंध में, हमने समग्र इकाई के प्रत्येक पक्ष को अलग करने के लिए एक कोलन का उपयोग किया।
इस मामले में हमने '2:08'
. निर्दिष्ट किया है , जिसने दिनांक मान में 2 दिन और 8 घंटे जोड़े। मूल तिथि में कोई समय भाग नहीं होता है, और इसलिए यह माना जाता है कि प्रारंभिक समय 00:00:00
है .
मारियाडीबी प्रारूप की सख्ती के साथ यथोचित रूप से क्षमा कर रहा है। हम अलग-अलग विभाजकों का उपयोग करके और अग्रणी शून्य को छोड़ कर भी समान प्रभाव प्राप्त कर सकते हैं।
यहां एक और उदाहरण दिया गया है जो DATE_ADD()
. का उपयोग करता है विभिन्न समय अंतराल के साथ कार्य करें:
SELECT DATE_ADD('2030-12-25', INTERVAL '2!8' DAY_HOUR);
परिणाम:
+-------------------------------------------------+ | DATE_ADD('2030-12-25', INTERVAL '2!8' DAY_HOUR) | +-------------------------------------------------+ | 2030-12-27 08:00:00 | +-------------------------------------------------+
यहां विभिन्न मिश्रित इकाइयों के कुछ और उदाहरण दिए गए हैं:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:2' YEAR_MONTH) AS "YEAR_MONTH",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:25:35' HOUR_SECOND) AS "HOUR_SECOND",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' DAY_MINUTE) AS "DAY_MINUTE";
परिणाम:
+---------------------+---------------------+---------------------+ | YEAR_MONTH | HOUR_SECOND | DAY_MINUTE | +---------------------+---------------------+---------------------+ | 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-01 11:30:00 | +---------------------+---------------------+---------------------+