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

Oracle में ग्रेटेस्ट () फ़ंक्शन

Oracle डाटाबेस में, GREATEST() फ़ंक्शन एक या अधिक अभिव्यक्तियों की सूची में सबसे बड़ा देता है।

सिंटैक्स

वाक्य रचना इस प्रकार है:

GREATEST(expr [, expr ]...)

पहला expr वापसी प्रकार निर्धारित करने के लिए प्रयोग किया जाता है:

  • अगर पहला expr संख्यात्मक है, तो Oracle उच्चतम संख्यात्मक पूर्वता के साथ तर्क को निर्धारित करता है, परोक्ष रूप से शेष तर्कों को तुलना से पहले उस डेटा प्रकार में परिवर्तित करता है, और उस डेटा प्रकार को लौटाता है।
  • अगर पहला expr है नहीं संख्यात्मक, फिर प्रत्येक expr पहले के बाद परोक्ष रूप से पहले के डेटा प्रकार में परिवर्तित हो जाता है expr तुलना से पहले।

उदाहरण

यहां एक उदाहरण दिया गया है:

SELECT GREATEST('a', 'b', 'c')
FROM DUAL;

परिणाम:

c

यहाँ कुछ और हैं:

SELECT 
    GREATEST('A', 'a') AS "r1",
    GREATEST('Cat', 'Dog', 'Dot') AS "r2",
    GREATEST(1, 2, 3) AS "r3",
    GREATEST(1, '2', 3) AS "r4",
    GREATEST('Cat', '2001-12-31') AS "r5"
FROM DUAL;

परिणाम:

   r1     r2    r3    r4     r5 
_____ ______ _____ _____ ______ 
a     Dot        3     3 Cat   

अभिव्यक्ति

तर्कों में इस तरह के भाव शामिल हो सकते हैं:

SELECT GREATEST(2 * 3, 1 * 3)
FROM DUAL;

परिणाम:

6

तारीख

यहां दिनांक स्ट्रिंग की तुलना है:

SELECT GREATEST(DATE '2020-01-01', DATE '2021-01-01')
FROM DUAL;

परिणाम:

01-JAN-21

दिनांक वर्तमान सत्र के दिनांक स्वरूप में लौटा दी गई है। देखें कि वर्तमान सत्र के दिनांक प्रारूप की जांच कैसे करें।

शून्य मान

यदि कोई तर्क null है , परिणाम null . है :

SET NULL 'null';
SELECT 
    GREATEST(null, 2),
    GREATEST(1, null)
FROM DUAL;

परिणाम:

   GREATEST(NULL,2)    GREATEST(1,NULL) 
___________________ ___________________ 
null                               null

डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus जब भी SQL SELECT के परिणामस्वरूप एक रिक्त मान उत्पन्न होता है तो एक रिक्त स्थान लौटाता है बयान।

हालांकि, आप SET NULL . का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंग null लौटाया जाना चाहिए।

अवैध तर्क गणना

कॉलिंग GREATEST() बिना किसी तर्क के त्रुटि उत्पन्न होती है:

SELECT GREATEST()
FROM DUAL;

परिणाम:

SQL Error: ORA-00938: not enough arguments for function
00938. 00000 -  "not enough arguments for function"

आप LEAST() . का भी उपयोग कर सकते हैं एक या अधिक अभिव्यक्तियों की सूची में से कम से कम वापस करने के लिए।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. विषम डेटाबेस प्रतिकृति को कॉन्फ़िगर करना - SQL सर्वर से Oracle

  2. अपूर्ण पुनर्प्राप्ति के बाद डेटाबेस की जांच कैसे करें संगत है

  3. ओरेकल पर अद्यतन कैस्केड के साथ एक विदेशी कुंजी कैसे बनाएं?

  4. ओरेकल पीएल/एसक्यूएल में एचटीएमएल इकाइयों में <,>, और और वर्णों से कैसे बचें

  5. Rownum का उपयोग करके तालिका की दूसरी पंक्ति का चयन करना