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

मारियाडीबी में HOUR() बनाम EXTRACT(HOUR…):क्या अंतर है?

मारियाडीबी के पास एक HOUR() है फ़ंक्शन जो घंटे के हिस्से को समय मान से निकालता है। MariaDB में एक EXTRACT() भी है फ़ंक्शन जो समय मान से घंटे के हिस्से को भी निकाल सकता है।

हालाँकि, ये फ़ंक्शन हमेशा समान परिणाम नहीं देते हैं।

HOUR() . के बीच अंतर देखने के लिए पढ़ें और EXTRACT(HOUR FROM ...) मारियाडीबी में।

अंतर

HOUR() और EXTRACT(HOUR FROM ...) दोनों एक ही मान लौटाते हैं जब समय अभिव्यक्ति एक समय-समय की अभिव्यक्ति होती है। यानी, अगर घंटे का हिस्सा 0 . के बीच है और 23 , फिर वे वही परिणाम लौटाते हैं।

अंतर तब प्रकट होता है जब घंटे का हिस्सा 23 . से बड़ा होता है .

TIME मान '-838:59:59.999999' . की श्रेणी में हो सकते हैं करने के लिए '838:59:59.999999' , लेकिन एक समय-समय का मान केवल 0 . के बीच हो सकता है और 23

अगर टाइम एक्सप्रेशन 0 . के बाहर है और 23 रेंज:

  • HOUR() एक्सप्रेशन से वास्तविक घंटे का हिस्सा लौटाता है (जब तक यह '-838:59:59.999999' की सीमा के भीतर है करने के लिए '838:59:59.999999' - यदि इस सीमा के बाहर, यह 838 लौटाता है )
  • EXTRACT(HOUR FROM ...) 0 . के बीच एक मान देता है और 23 . यदि घंटा इस सीमा से बाहर है, EXTRACT() 0 . के माध्यम से पुनरावृति करेगा और 23 0 . के बीच मान वापस करने के लिए जितनी बार आवश्यक हो उतनी बार और 23

उदाहरण

प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।

SELECT 
    HOUR('24:00:00'),
    EXTRACT(HOUR FROM '24:00:00');

परिणाम:

+------------------+-------------------------------+
| HOUR('24:00:00') | EXTRACT(HOUR FROM '24:00:00') |
+------------------+-------------------------------+
|               24 |                             0 |
+------------------+-------------------------------+

HOUR() फ़ंक्शन प्रदान किए गए वास्तविक घंटे को लौटाता है, जबकि EXTRACT() रिटर्न 0 . ऐसा इसलिए है क्योंकि 24 23 . से अधिक है , जो उच्चतम मूल्य है EXTRACT() घंटे के हिस्से के लिए वापस आ जाएगा। इस मामले में, EXTRACT() 0 . से शुरू करते हुए फिर से गिनती शुरू करता है .

यह जितनी बार आवश्यकता होगी उतनी बार ऐसा करता रहेगा, ताकि परिणाम हमेशा 0 . के बीच रहे और 23 .

घंटे के बड़े हिस्से के साथ एक और उदाहरण यहां दिया गया है:

SELECT 
    HOUR('742:00:00'),
    EXTRACT(HOUR FROM '742:00:00');

परिणाम:

+-------------------+--------------------------------+
| HOUR('742:00:00') | EXTRACT(HOUR FROM '742:00:00') |
+-------------------+--------------------------------+
|               742 |                             22 |
+-------------------+--------------------------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मारियाडीबी डेटाबेस में सभी दृश्यों को सूचीबद्ध करने के 4 तरीके

  2. मारियाडीबी में INSERT () फ़ंक्शन कैसे काम करता है

  3. कैसे TIMESTAMP () मारियाडीबी में काम करता है

  4. मारियाडीबी GROUP_CONCAT ()

  5. मारियाडीबी स्ट्रिंग फ़ंक्शंस (पूरी सूची)