PostgreSQL में, make_date()
फ़ंक्शन आपको इसके अलग-अलग वर्ष, महीने और दिन के क्षेत्रों से एक तिथि बनाने की अनुमति देता है।
प्रत्येक दिनांक भाग को पूर्णांक . के रूप में प्रदान किया जाता है , और परिणाम तारीख . के रूप में लौटाया जाता है ।
सिंटैक्स
फ़ंक्शन में निम्न सिंटैक्स है:
make_date(year int, month int, day int)
जहां year
, month
, और day
दिनांक के वर्ष, महीने और दिन का प्रतिनिधित्व करने वाले पूर्णांक हैं।
उदाहरण
प्रदर्शित करने के लिए यहां एक बुनियादी उदाहरण दिया गया है।
SELECT make_date(2020, 07, 25);
परिणाम:
2020-07-25
और हम सत्यापित कर सकते हैं कि यह तारीख . का डेटा प्रकार लौटाता है निम्नलिखित प्रश्न के साथ।
SELECT pg_typeof(make_date(2020, 07, 25));
परिणाम:
date
pg_typeof()
फ़ंक्शन अपने तर्क का डेटा प्रकार देता है, और इसलिए मैंने make_date()
. पास किया है तर्क के रूप में..
सीमा से बाहर
यदि कोई तर्क उसके दिनांक भाग के लिए संभावित मानों की सीमा से बाहर है, तो आपको "सीमा से बाहर" त्रुटि मिलेगी।
SELECT make_date(2020, 17, 25);
परिणाम:
ERROR: date field value out of range: 2020-17-25
यह फिर से 00 के महीने के साथ है:
SELECT make_date(2020, 00, 25);
परिणाम:
date field value out of range: 2020-00-25
स्ट्रिंग्स को तर्क के रूप में पास करना
Postgres प्रलेखन में कहा गया है कि तर्क पूर्णांक होना चाहिए, लेकिन स्ट्रिंग पास करना काम करता प्रतीत होता है (शायद इसलिए कि वे पूर्ण रूप से पूर्णांक में परिवर्तित हो जाते हैं), जब तक कि प्रत्येक तर्क अपनी उचित सीमा के भीतर हो।
SELECT make_date('2020', '07', '25');
परिणाम:
2020-07-25
फिर से हम pg_type()
. का उपयोग कर सकते हैं यह जाँचने के लिए कि परिणाम वास्तव में एक तारीख है डेटा प्रकार।
SELECT pg_typeof(make_date('2020', '07', '25'));
परिणाम:
date
हालांकि, आपको अभी भी यह सुनिश्चित करने की आवश्यकता है कि पूर्णांक में परिवर्तित होने के बाद प्रत्येक तर्क मान्य होगा, अन्यथा आपको निम्न जैसी त्रुटि प्राप्त होगी।
SELECT make_date(2020, 'July', 25);
परिणाम:
ERROR: invalid input syntax for type integer: "July" LINE 1: SELECT make_date(2020, 'July', 25);