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

Oracle में सबसे बड़े कार्य में नल को संभालना

आपके प्रश्न में विशेष रूप से दो कॉलम शामिल हैं, लेकिन मैंने उन स्थितियों में भाग लिया है जहां मुझे GREATEST . की आवश्यकता थी /LEAST दो से अधिक कॉलम में। उन परिदृश्यों में आप COALESCE . का उपयोग कर सकते हैं और समाधान को जितने चाहें उतने कॉलम तक विस्तृत करें।

यहां तीन कॉलम के साथ एक उदाहरण दिया गया है a , b , और c :

GREATEST(
    COALESCE(a, b, c),
    COALESCE(b, c, a),
    COALESCE(c, a, b)
)

ध्यान दें कि COALESCE . का स्तंभ क्रम बदलता है ताकि प्रत्येक इनपुट कॉलम पहला तत्व हो COALESCE कम से कम एक बार। यह केवल तभी वापस आएगा जब सभी इनपुट कॉलम न्यूल होंगे।

"सामान्य समाधान" में COALESCE . की संख्या स्टेटमेंट इनपुट कॉलम की संख्या के बराबर होंगे:

GREATEST(
    COALESCE(col1, col2, col3, col4, ....),
    COALESCE(col2, col3, col4, ...., col1),
    COALESCE(col3, col4, ...., col1, col2),
    COALESCE(col4, ...., col1, col2, col3),
    COALESCE(...., col1, col2, col3, col4),
    ...
)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-29481:JDBC से Oracle 12c प्रक्रिया को कॉल करते समय निहित परिणाम क्लाइंट को वापस नहीं किए जा सकते हैं

  2. Oracle वितरित डेटाबेस और MSVC

  3. Oracle में सबस्ट्र या LIKE तेज है?

  4. क्या Oracle OCI कार्य करता है OCIPasswordChange एन्क्रिप्टेड ट्रांसमिटेड पासवर्ड

  5. ओरेकल रेगेक्स में कभी-कभी गैर लालची क्वांटिफायर क्यों काम नहीं करता है?