नीचे 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' | +---------+------+--------------------------------------+