MariaDB के कई कार्य हैं जो आपको दिनांक/समय मानों से विभिन्न दिनांक और समय भागों को निकालने में सक्षम बनाते हैं। यदि आवश्यक हो तो आप प्रत्येक दिनांक/समय घटक को उसके अपने कॉलम में अलग करने के लिए इनका उपयोग कर सकते हैं।
नीचे MariaDB में समय मान से घंटे, मिनट और सेकंड निकालने के चार तरीके दिए गए हैं। एक बोनस के रूप में, हम माइक्रोसेकंड भी शामिल करेंगे।
द HOUR()
, MINUTE()
, SECOND()
और MICROSECOND()
कार्य
HOUR()
, MINUTE()
, और SECOND()
फ़ंक्शन क्रमशः दिनांक या डेटाटाइम मान से घंटे, मिनट और सेकंड निकालता है।
और यदि आप अधिक सटीकता के साथ काम कर रहे हैं, तो आप MICROSECOND()
का उपयोग कर सकते हैं माइक्रोसेकंड भाग को वापस करने के लिए कार्य करता है।
प्रत्येक बार घटक को अपने कॉलम में वापस करने के लिए इन कार्यों का उपयोग करने का एक उदाहरण यहां दिया गया है:
SELECT
HOUR('10:45:30.123456') AS "Hours",
MINUTE('10:45:30.123456') AS "Minutes",
SECOND('10:45:30.123456') AS "Seconds",
MICROSECOND('10:45:30.123456') AS "Microseconds";
परिणाम:
+----------+-------------+----------+--------------+| घंटे | मिनट | सेकंड | माइक्रोसेकंड |+----------+------------+---------+--------------+| 10 | 45 | 30 | 123456 |+----+------+-----
TIME
मान'-838:59:59.999999'
. की श्रेणी में हो सकते हैं करने के लिए'838:59:59.999999'
.
TIME
मान नकारात्मक भी हो सकते हैं। ऐसे मामलों में, वापसी मूल्य अभी भी सकारात्मक हैं।यहां एक नकारात्मक समय मान दिया गया है:
SELECT HOUR('-10:45:30.123456') AS "Hours", MINUTE('-10:45:30.123456') AS "Minutes", SECOND('-10:45:30.123456') AS "Seconds", MICROSECOND('-10:45:30.123456') AS "Microseconds";
परिणाम:
+----------+-------------+----------+--------------+| घंटे | मिनट | सेकंड | माइक्रोसेकंड |+----------+------------+---------+--------------+| 10 | 45 | 30 | 123456 |+----+------+-----द
EXTRACT()
समारोह
EXTRACT()
फ़ंक्शन आपको दिनांक/समय मान से एक निर्दिष्ट इकाई निकालने की अनुमति देता है। इसलिए, आप इसका उपयोग समय मान से घंटे, मिनट, सेकंड और माइक्रोसेकंड निकालने के लिए कर सकते हैं।उदाहरण:
SELECT EXTRACT(HOUR FROM '10:45:30.123456') AS "Hours", EXTRACT(MINUTE FROM '10:45:30.123456') AS "Minutes", EXTRACT(SECOND FROM '10:45:30.123456') AS "Seconds", EXTRACT(MICROSECOND FROM '10:45:30.123456') AS "Microseconds";
परिणाम:
+----------+-------------+----------+--------------+| घंटे | मिनट | सेकंड | माइक्रोसेकंड |+----------+------------+---------+--------------+| 10 | 45 | 30 | 123456 |+----+------+-----
TIME_FORMAT()
समारोह
TIME_FORMAT()
फ़ंक्शन आपको प्रारूप स्ट्रिंग के आधार पर समय मान को प्रारूपित करने की अनुमति देता है। प्रारूप स्ट्रिंग निर्दिष्ट करती है कि समय को कैसे स्वरूपित किया जाना चाहिए।इसलिए आप इस फ़ंक्शन का उपयोग विभिन्न समय भागों को अलग-अलग वापस करने के लिए कर सकते हैं।
उदाहरण:
SELECT TIME_FORMAT('10:07:30.123456', '%H') AS "Hours", TIME_FORMAT('10:07:30.123456', '%i') AS "Minutes", TIME_FORMAT('10:07:30.123456', '%s') AS "Seconds", TIME_FORMAT('10:07:30.123456', '%f') AS "Microseconds";
परिणाम:
+----------+-------------+----------+--------------+| घंटे | मिनट | सेकंड | माइक्रोसेकंड |+----------+------------+---------+--------------+| 10 | 07 | 30 | 123456 |+----+------+-----सभी समय के घटकों को अलग-अलग वापस करना भी संभव है, लेकिन एक ही कॉलम में।
मेरे कहने का एक उदाहरण यहां दिया गया है:
SELECT TIME_FORMAT('10:07:30.123456', '%H %i %s %f');
चुनेंपरिणाम:
+------------------------------------------ -+| TIME_FORMAT('10:07:30.123456', '%H %i %s %f') |+-------------------------- ------------------------+| 10 07 30 123456 |+------------------------------------------ ---+
TIME_FORMAT()
फ़ंक्शन प्रारूप स्ट्रिंग्स का एक सबसेट स्वीकार करता है जिसका उपयोगDATE_FORMAT()
. के साथ किया जा सकता है समारोह।घंटे के भाग के लिए कई संभावित प्रारूप विनिर्देशक हैं। ऊपर प्रयुक्त प्रारूप विनिर्देशक घंटे को
00
. के बीच दो अंकों के साथ लौटाता है और23
.DATE_FORMAT()
के साथ उपयोग किए जा सकने वाले फ़ॉर्मेट स्ट्रिंग्स/विनिर्देशकों की पूरी सूची के लिए MariaDB फ़ॉर्मेट स्ट्रिंग्स देखें। .TIME_FORMAT()
फ़ंक्शन केवल घंटे, मिनट और सेकंड/उप सेकंड के लिए प्रारूप विनिर्देशक स्वीकार करता है। कोई अन्य प्रारूप विनिर्देशक परिणामnull
में होता है या0
लौटाया जा रहा है।द
DATE_FORMAT()
समारोह
DATE_FORMAT()
फ़ंक्शन आपको प्रारूप स्ट्रिंग के आधार पर दिनांक या डेटाटाइम मान को प्रारूपित करने की अनुमति देता है। प्रारूप स्ट्रिंग निर्दिष्ट करती है कि दिनांक/समय को कैसे स्वरूपित किया जाना चाहिए।इसलिए हम उसी प्रारूप विनिर्देशक का उपयोग कर सकते हैं जिसका उपयोग हमने
TIME_FORMAT()
. के साथ किया था पिछले उदाहरण में समारोह। हालांकि,DATE_FORMAT()
एकTIME
स्वीकार नहीं करता मान है, इसलिए हमें एकDATETIME
पास करना होगा मूल्य।SELECT DATE_FORMAT('2023-01-01 10:07:30.123456', '%H') AS "Hours", DATE_FORMAT('2023-01-01 10:07:30.123456', '%i') AS "Minutes", DATE_FORMAT('2023-01-01 10:07:30.123456', '%s') AS "Seconds", DATE_FORMAT('2023-01-01 10:07:30.123456', '%f') AS "Microseconds";
परिणाम:
+----------+-------------+----------+--------------+| घंटे | मिनट | सेकंड | माइक्रोसेकंड |+----------+------------+---------+--------------+| 10 | 07 | 30 | 123456 |+----+------+-----बस एक
TIME
बीत रहा है value इस फ़ंक्शन के साथ काम नहीं करता:SELECT DATE_FORMAT('10:07:30.123456', '%H') AS "Hours", DATE_FORMAT('10:07:30.123456', '%i') AS "Minutes", DATE_FORMAT('10:07:30.123456', '%s') AS "Seconds", DATE_FORMAT('10:07:30.123456', '%f') AS "Microseconds";
परिणाम:
+----------+-------------+----------+--------------+| घंटे | मिनट | सेकंड | माइक्रोसेकंड |+----------+------------+---------+--------------+| नल | नल | नल | NULL |+----------+-------------+-----------+--------------+1 पंक्ति सेट में , 4 चेतावनियाँ (0.003 सेकंड)आइए देखें चेतावनी:
SHOW WARNINGS;
परिणाम:
+------+---------- ----------------+| स्तर | कोड | संदेश |+------------+----------+---------------------------- ---------------+| चेतावनी | 1292 | गलत डेटाटाइम मान:'10:07:30.123456' || चेतावनी | 1292 | गलत डेटाटाइम मान:'10:07:30.123456' || चेतावनी | 1292 | गलत डेटाटाइम मान:'10:07:30.123456' || चेतावनी | 1292 | गलत डेटाटाइम मान:'10:07:30.123456' |+------+------+-------- ------------------------+