MariaDB
 sql >> डेटाबेस >  >> RDS >> MariaDB

MariaDB में समय मान से घंटे, मिनट और सेकंड को अलग करने के 4 तरीके

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' |+------+------+-------- ------------------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. गैलेरा क्लस्टर रिकवरी 101 - नेटवर्क विभाजन में एक गहरा गोता

  2. ClusterControl का उपयोग करके MySQL और MariaDB डेटा की पॉइंट-इन-टाइम रिकवरी कैसे करें

  3. मारियाडीबी में सभी संग्रहित प्रक्रियाओं को कैसे सूचीबद्ध करें

  4. MySQL और MariaDB के लिए 6 सामान्य विफलता परिदृश्य, और उन्हें कैसे ठीक करें

  5. हाइब्रिड क्लाउड सेटअप में ड्राइविंग प्रदर्शन