PostgreSQL में, GREATEST()
फ़ंक्शन किसी भी संख्या में भावों की सूची से सबसे बड़ा (या सबसे बड़ा) मान देता है।
GREATEST()
फ़ंक्शन SQL मानक में शामिल नहीं है, लेकिन यह एक लोकप्रिय एक्सटेंशन है जिसे कई प्रमुख RDBMS समर्थन करते हैं।
सिंटैक्स
GREATEST(value [, ...])
इसका मतलब है कि हम फ़ंक्शन में एक या अधिक मान पास कर सकते हैं।
उदाहरण
प्रदर्शित करने के लिए यहां एक सरल उदाहरण दिया गया है:
SELECT GREATEST( 3, 15, 7 );
परिणाम:
15
स्ट्रिंग्स
यहां एक उदाहरण दिया गया है जहां सभी तर्क तार हैं:
SELECT GREATEST( 'Bear', 'Zebra', 'Ant' );
परिणाम:
Zebra
तारीख
यहां दिनांक स्ट्रिंग की तुलना है:
SELECT GREATEST(date '2027-01-01', date '2027-12-31');
परिणाम:
2027-12-31
सामान्य डेटा प्रकार
सभी व्यंजक एक सामान्य डेटा प्रकार में परिवर्तनीय होने चाहिए। परिणाम इस प्रकार का उपयोग करेगा।
यदि व्यंजकों को एक सामान्य डेटा प्रकार में परिवर्तित नहीं किया जा सकता है, तो एक त्रुटि उत्पन्न होती है:
SELECT GREATEST( 3, 'Fifteen', 7 );
परिणाम:
ERROR: invalid input syntax for type integer: "Fifteen" LINE 1: SELECT GREATEST( 3, 'Fifteen', 7 ); ^
शून्य मान
शून्य मानों को तब तक अनदेखा किया जाता है जब तक कि सभी अभिव्यक्तियाँ null
न हों . अगर सभी एक्सप्रेशन null
हैं , फिर null
लौटा दिया गया है:
\pset null '<null>'
SELECT
GREATEST( 3, null, 7 ),
GREATEST( null, null, null );
परिणाम:
greatest | greatest ----------+---------- 7 | <null>
डिफ़ॉल्ट रूप से, psql रिक्त स्ट्रिंग को शून्य मानों पर लौटाता है। इस उदाहरण में पहली पंक्ति में मैंने आउटपुट के लिए शून्य मान सेट किया है <null>
ताकि हमारे लिए शून्य परिणाम देखना आसान हो जाए।
अनुपलब्ध तर्क
कॉलिंग GREATEST()
बिना किसी तर्क के त्रुटि उत्पन्न होती है:
SELECT GREATEST();
परिणाम:
ERROR: syntax error at or near ")" LINE 1: SELECT GREATEST(); ^
हालांकि, हम बिना किसी त्रुटि के एक तर्क पारित कर सकते हैं:
SELECT GREATEST( 1 );
परिणाम:
1