PostgreSQL में, make_time()
फ़ंक्शन आपको इसके घंटे, मिनट और सेकंड फ़ील्ड से समय बनाने की अनुमति देता है।
सिंटैक्स
फ़ंक्शन में निम्न सिंटैक्स है:
make_time(hour int, min int, sec double precision)
जहां hour
घंटे का हिस्सा है, min
मिनट का हिस्सा है, और sec
सेकंड का हिस्सा है।
घंटे और मिनट पूर्णांक . के रूप में दिए गए हैं , सेकंड दोहरी सटीकता . के रूप में प्रदान किए जाते हैं ।
परिणाम समय . के रूप में लौटाया जाता है . अधिक सटीक रूप से, यह बिना समय क्षेत्र के समय . के रूप में लौटा है ।
उदाहरण
प्रदर्शित करने के लिए यहां एक बुनियादी उदाहरण दिया गया है।
SELECT make_time(7, 45, 15.08);
परिणाम:
07:45:15.08
और हम निम्नलिखित क्वेरी के साथ रिटर्न प्रकार को सत्यापित कर सकते हैं।
SELECT pg_typeof(make_time(7, 45, 15.08));
परिणाम:
time without time zone
pg_typeof()
फ़ंक्शन अपने तर्क का डेटा प्रकार देता है, और इसलिए मैंने make_time()
passed पास किया तर्क के रूप में..
सीमा से बाहर
यदि कोई तर्क उसके दिनांक भाग के लिए संभावित मानों की सीमा से बाहर है, तो आपको "सीमा से बाहर" त्रुटि मिलेगी।
SELECT make_time(25, 45, 15.08);
परिणाम:
ERROR: time field value out of range: 25:45:15.08
स्ट्रिंग्स को तर्क के रूप में पास करना
Postgres दस्तावेज़ीकरण में कहा गया है कि तर्क पूर्णांक होना चाहिए (और seconds
तर्क), लेकिन पासिंग स्ट्रिंग भी काम करती है (शायद इसलिए कि वे पूरी तरह से पूर्णांक में परिवर्तित हो जाते हैं), जब तक कि प्रत्येक तर्क अपनी उचित सीमा के भीतर हो।
SELECT make_time('7', '45', '15.08');
परिणाम:
07:45:15.08
फिर से हम pg_type()
. का उपयोग कर सकते हैं परिणामी डेटा प्रकार की जांच करने के लिए।
SELECT pg_typeof(make_time('7', '45', '15.08'));
परिणाम:
time without time zone
हालांकि, आपको अभी भी यह सुनिश्चित करने की आवश्यकता है कि पूर्णांक में परिवर्तित होने के बाद प्रत्येक तर्क मान्य होगा, अन्यथा आपको एक त्रुटि मिलेगी।
SELECT make_time('25', '45', '15.08');
परिणाम:
ERROR: time field value out of range: 25:45:15.08