नीचे 4 कार्य हैं जो आपको मारियाडीबी में एक समय मान से माइक्रोसेकंड भाग को वापस करने में सक्षम बनाते हैं।
द MICROSECOND()
समारोह
MICROSECOND()
फ़ंक्शन किसी दिए गए TIME
का माइक्रोसेकंड भाग लौटाता है या DATETIME
अभिव्यक्ति। यह एक तर्क को स्वीकार करता है, जिस समय से आप माइक्रोसेकंड निकालना चाहते हैं।
उदाहरण:
SELECT MICROSECOND('10:45:30.123456');
परिणाम:
+--------------------------------+ | MICROSECOND('10:45:30.123456') | +--------------------------------+ | 123456 | +--------------------------------+
TIME
मान '-838:59:59.999999'
. की श्रेणी में हो सकते हैं करने के लिए '838:59:59.999999'
.
TIME
मान नकारात्मक भी हो सकते हैं। ऐसे मामलों में, MICROSECOND()
एक सकारात्मक मान देता है।
यहाँ एक माइक्रोसेकंड भाग के साथ एक ऋणात्मक समय मान दिया गया है:
SELECT MICROSECOND('-838:59:59.999999');
परिणाम:
+----------------------------------+ | MICROSECOND('-838:59:59.999999') | +----------------------------------+ | 999999 | +----------------------------------+
उम्मीद के मुताबिक माइक्रोसेकंड का हिस्सा निकाला जाता है।
द EXTRACT()
समारोह
EXTRACT()
फ़ंक्शन आपको दिनांक/समय मान से एक निर्दिष्ट इकाई निकालने की अनुमति देता है। इसलिए, आप इसका उपयोग समय मान से माइक्रोसेकंड (साथ ही अन्य इकाइयों) को निकालने के लिए कर सकते हैं।
उदाहरण:
SELECT EXTRACT(MICROSECOND FROM '10:45:30.123456');
परिणाम:
+---------------------------------------------+ | EXTRACT(MICROSECOND FROM '10:45:30.123456') | +---------------------------------------------+ | 123456 | +---------------------------------------------+
TIME_FORMAT()
समारोह
TIME_FORMAT()
फ़ंक्शन आपको प्रारूप स्ट्रिंग के आधार पर समय मान को प्रारूपित करने की अनुमति देता है। प्रारूप स्ट्रिंग निर्दिष्ट करती है कि समय को कैसे स्वरूपित किया जाना चाहिए।
इसलिए आप इस फ़ंक्शन का उपयोग समय से माइक्रोसेकंड (साथ ही घंटे, मिनट और सेकंड) वापस करने के लिए कर सकते हैं।
%f
प्रारूप विनिर्देशक माइक्रोसेकंड लौटाता है:
SELECT TIME_FORMAT('10:07:30.003456', '%f');
परिणाम:
+--------------------------------------+ | TIME_FORMAT('10:07:30.003456', '%f') | +--------------------------------------+ | 003456 | +--------------------------------------+
आप $s
. का भी उपयोग कर सकते हैं या $S
सेकंड भाग वापस करने के लिए प्रारूप विनिर्देशक:
SELECT
TIME_FORMAT('10:07:30.123456', '%s') AS "Seconds",
TIME_FORMAT('10:07:30.123456', '%f') AS "Microseconds",
TIME_FORMAT('10:07:30.123456', '%s.%f') AS "Both";
परिणाम:
+---------+--------------+-----------+ | Seconds | Microseconds | Both | +---------+--------------+-----------+ | 30 | 123456 | 30.123456 | +---------+--------------+-----------+
TIME_FORMAT()
फ़ंक्शन प्रारूप स्ट्रिंग्स का एक सबसेट स्वीकार करता है जिसका उपयोग DATE_FORMAT()
. के साथ किया जा सकता है समारोह। 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.007123', '%f');
परिणाम:
+-------------------------------------------------+ | DATE_FORMAT('2023-01-01 10:07:30.007123', '%f') | +-------------------------------------------------+ | 007123 | +-------------------------------------------------+
बस एक TIME
बीत रहा है value इस फ़ंक्शन के साथ काम नहीं करता:
SELECT DATE_FORMAT('10:07:30.007123', '%f');
परिणाम:
+--------------------------------------+ | DATE_FORMAT('10:07:30.007123', '%f') | +--------------------------------------+ | NULL | +--------------------------------------+ 1 row in set, 1 warning (0.003 sec)
आइए देखें चेतावनी:
SHOW WARNINGS;
परिणाम:
+---------+------+---------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------+ | Warning | 1292 | Incorrect datetime value: '10:07:30.007123' | +---------+------+---------------------------------------------+