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

मारियाडीबी में एक समय मूल्य से घंटे प्राप्त करने के लिए 4 कार्य

नीचे 4 कार्य हैं जो आपको मारियाडीबी में समय मान से घंटे वापस करने में सक्षम बनाते हैं।

HOUR() समारोह

HOUR() फ़ंक्शन किसी दिए गए TIME के लिए घंटा लौटाता है या DATETIME अभिव्यक्ति। यह एक तर्क को स्वीकार करता है, जिस समय से आप घंटा निकालना चाहते हैं।

उदाहरण:

SELECT HOUR('03:45:30');

परिणाम:

+------------------+
| HOUR('03:45:30') |
+------------------+
|                3 |
+------------------+

दिन के समय के मानों के लिए, यह घंटे को 0 . श्रेणी में एक संख्या के रूप में लौटाता है करने के लिए 23 . हालांकि, TIME . की सीमा मान बहुत बड़े हो सकते हैं, और इसलिए, लौटाया गया मान 23 . से बहुत अधिक हो सकता है . विशेष रूप से, TIME मान '-838:59:59.999999' . की श्रेणी में हो सकते हैं करने के लिए '838:59:59.999999'

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

SELECT HOUR('838:45:30');

परिणाम:

+-------------------+
| HOUR('838:45:30') |
+-------------------+
|               838 |
+-------------------+

यदि समय TIME के लिए स्वीकृत सीमा से बाहर है मान, वापसी मान 838 है एक चेतावनी के साथ।

TIME मान नकारात्मक भी हो सकते हैं। ऐसे मामलों में, HOUR() एक सकारात्मक मान देता है।

EXTRACT() समारोह

EXTRACT() फ़ंक्शन आपको दिनांक/समय मान से एक निर्दिष्ट इकाई निकालने की अनुमति देता है। इसलिए, आप इसका उपयोग समय मान से घंटे (साथ ही अन्य इकाइयों) को निकालने के लिए कर सकते हैं।

उदाहरण:

SELECT EXTRACT(HOUR FROM '10:47:01');

परिणाम:

+-------------------------------+
| EXTRACT(HOUR FROM '10:47:01') |
+-------------------------------+
|                            10 |
+-------------------------------+

TIME_FORMAT() समारोह

TIME_FORMAT() फ़ंक्शन आपको प्रारूप स्ट्रिंग के आधार पर समय मान को प्रारूपित करने की अनुमति देता है। प्रारूप स्ट्रिंग निर्दिष्ट करती है कि समय को कैसे स्वरूपित किया जाना चाहिए।

इसलिए आप इस फ़ंक्शन का उपयोग समय से घंटे (साथ ही मिनट और सेकंड) को वापस करने के लिए कर सकते हैं। घंटे वापस करने के लिए कई विकल्प हैं।

यहां एक उदाहरण दिया गया है जो घंटे को विभिन्न रूपों में लौटाता है:

SELECT 
    TIME_FORMAT('18:45:30', '%H') AS '%H',
    TIME_FORMAT('18:45:30', '%h') AS '%h',
    TIME_FORMAT('18:45:30', '%I') AS '%I',
    TIME_FORMAT('18:45:30', '%k') AS '%k',
    TIME_FORMAT('18:45:30', '%l') AS '%l';

परिणाम:

+------+------+------+------+------+
| %H   | %h   | %I   | %k   | %l   |
+------+------+------+------+------+
| 18   | 06   | 06   | 18   | 6    |
+------+------+------+------+------+

उनमें से प्रत्येक प्रारूप विनिर्देशक का विवरण यहां दिया गया है:

<थ>विवरण
प्रारूप विनिर्देशक
%H 00-23 के बीच 2 अंकों वाला घंटा।
%h 01-12 के बीच 2 अंकों वाला घंटा।
%I 01-12 के बीच 2 अंकों वाला घंटा।
%k 0-23 के बीच 1 अंकों वाला घंटा।
%l 1-12 के बीच 1 अंकों वाला घंटा।

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 18:45:30', '%H') AS '%H',
    DATE_FORMAT('2023-01-01 18:45:30', '%h') AS '%h',
    DATE_FORMAT('2023-01-01 18:45:30', '%I') AS '%I',
    DATE_FORMAT('2023-01-01 18:45:30', '%k') AS '%k',
    DATE_FORMAT('2023-01-01 18:45:30', '%l') AS '%l';

परिणाम:

+------+------+------+------+------+
| %H   | %h   | %I   | %k   | %l   |
+------+------+------+------+------+
| 18   | 06   | 06   | 18   | 6    |
+------+------+------+------+------+

बस एक TIME बीत रहा है value इस फ़ंक्शन के साथ इसे काफी कम नहीं करता है:

SELECT 
    DATE_FORMAT('18:45:30', '%H') AS '%H',
    DATE_FORMAT('18:45:30', '%h') AS '%h',
    DATE_FORMAT('18:45:30', '%I') AS '%I',
    DATE_FORMAT('18:45:30', '%k') AS '%k',
    DATE_FORMAT('18:45:30', '%l') AS '%l';

परिणाम:

+------+------+------+------+------+
| %H   | %h   | %I   | %k   | %l   |
+------+------+------+------+------+
| NULL | NULL | NULL | NULL | NULL |
+------+------+------+------+------+
1 row in set, 5 warnings (0.000 sec)

चेतावनियां दिखाएं:

SHOW WARNINGS;

परिणाम:

+---------+------+--------------------------------------+
| Level   | Code | Message                              |
+---------+------+--------------------------------------+
| Warning | 1292 | Incorrect datetime value: '18:45:30' |
| Warning | 1292 | Incorrect datetime value: '18:45:30' |
| Warning | 1292 | Incorrect datetime value: '18:45:30' |
| Warning | 1292 | Incorrect datetime value: '18:45:30' |
| Warning | 1292 | Incorrect datetime value: '18:45:30' |
+---------+------+--------------------------------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मेरा MySQL डेटाबेस डिस्क स्थान से बाहर है

  2. मारियाडीबी में एक महीने में दिनों की संख्या लौटाएं

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

  4. मारियाडीबी में एनवीएल () कैसे काम करता है

  5. MySQL और MariaDB के लिए डेटाबेस प्रॉक्सी चुनना