नीचे 4 कार्य हैं जो आपको मारियाडीबी में समय मान से सेकंड भाग वापस करने में सक्षम बनाते हैं।
द SECOND()
समारोह
SECOND()
फ़ंक्शन किसी दिए गए TIME
का सेकंड भाग लौटाता है या DATETIME
अभिव्यक्ति। यह एक तर्क को स्वीकार करता है, जिस समय से आप सेकंड निकालना चाहते हैं।
उदाहरण:
SELECT SECOND('03:45:30');
परिणाम:
+--------------------+ | SECOND('03:45:30') | +--------------------+ | 30 | +--------------------+
TIME
मान '-838:59:59.999999'
. की श्रेणी में हो सकते हैं करने के लिए '838:59:59.999999'
. इसमें माइक्रोसेकंड शामिल हैं, लेकिन SECOND()
केवल सेकंड का भाग देता है (एक MICROSECOND()
. है माइक्रोसेकंड वापस करने के लिए कार्य)।
TIME
मान नकारात्मक भी हो सकते हैं। ऐसे मामलों में, SECOND()
एक सकारात्मक मान देता है।
यहाँ एक माइक्रोसेकंड भाग के साथ एक ऋणात्मक समय मान दिया गया है:
SELECT SECOND('-838:59:59.999999');
परिणाम:
+-----------------------------+ | SECOND('-838:59:59.999999') | +-----------------------------+ | 59 | +-----------------------------+
सेकंड का भाग अपेक्षानुसार निकाला गया है।
द EXTRACT()
समारोह
EXTRACT()
फ़ंक्शन आपको दिनांक/समय मान से एक निर्दिष्ट इकाई निकालने की अनुमति देता है। इसलिए, आप इसका उपयोग समय मान से सेकंड (साथ ही अन्य इकाइयों) को निकालने के लिए कर सकते हैं।
उदाहरण:
SELECT EXTRACT(SECOND FROM '10:47:01');
परिणाम:
+---------------------------------+ | EXTRACT(SECOND FROM '10:47:01') | +---------------------------------+ | 1 | +---------------------------------+
TIME_FORMAT()
समारोह
TIME_FORMAT()
फ़ंक्शन आपको प्रारूप स्ट्रिंग के आधार पर समय मान को प्रारूपित करने की अनुमति देता है। प्रारूप स्ट्रिंग निर्दिष्ट करती है कि समय को कैसे स्वरूपित किया जाना चाहिए।
इसलिए आप इस फ़ंक्शन का उपयोग समय से सेकंड (साथ ही मिनट और घंटे) वापस करने के लिए कर सकते हैं।
%s
और %S
प्रारूप विनिर्देशक दोनों सेकंड को दो अंकों के साथ लौटाते हैं:
SELECT
TIME_FORMAT('10:07:30', '%s'),
TIME_FORMAT('10:07:30', '%S');
परिणाम:
+-------------------------------+-------------------------------+ | TIME_FORMAT('10:07:30', '%s') | TIME_FORMAT('10:07:30', '%S') | +-------------------------------+-------------------------------+ | 30 | 30 | +-------------------------------+-------------------------------+
आप $f
. का भी उपयोग कर सकते हैं छह अंकों के उप सेकंड वापस करने के लिए प्रारूप विनिर्देशक:
SELECT
TIME_FORMAT('10:07:30.123456', '%f') AS "Microseconds",
TIME_FORMAT('10:07:30.123456', '%s.%f') AS "Both";
परिणाम:
+--------------+-----------+ | Microseconds | Both | +--------------+-----------+ | 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', '%s');
परिणाम:
+------------------------------------------+ | DATE_FORMAT('2023-01-01 10:07:30', '%s') | +------------------------------------------+ | 30 | +------------------------------------------+
बस एक TIME
बीत रहा है value इस फ़ंक्शन के साथ काम नहीं करता:
SELECT DATE_FORMAT('10:07:30', '%s') AS '%s';
परिणाम:
+------+ | %s | +------+ | 00 | +------+