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

एसक्यूएल शून्य मूल्यों के साथ पंक्ति डेटा से मिन मान का चयन

ऐसा लगता है कि आप कुछ ऐसा चाहते हैं

SELECT least( (case when col1 is null or col1 = 0 then 999999999 else col1 end),
              (case when col2 is null or col2 = 0 then 999999999 else col2 end),
              (case when col3 is null or col3 = 0 then 999999999 else col3 end) )
  FROM <<table name>>

जहां 999999999 कुछ संख्यात्मक मान है जो इतना बड़ा है कि यह हमेशा किसी अन्य मान्य मान से बड़ा होगा। यदि यह संभव है कि तीनों स्तंभों में NULL होगा या 0 मान, तो आप शायद एक अतिरिक्त जांच जोड़ना चाहेंगे कि यदि उस least का परिणाम है फ़ंक्शन 999999999 है जिसे आप 0 या NULL return लौटाते हैं या जो कुछ भी समझ में आता है।

@X-Zero एक काम कर रहे SQL Fiddle उदाहरण को एक साथ रखने के लिए काफी दयालु था। इस निर्माण की। ध्यान दें कि उसका उदाहरण उन पंक्तियों को फ़िल्टर कर रहा है जहां सभी तीन स्तंभों में NULL . है या 0 मान।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में सभी उच्चारण वर्णों के लिए regexp

  2. Oracle SQL क्वेरी में स्थिरांक

  3. जावा संग्रहित प्रक्रिया बनाम पीएल/एसक्यूएल संग्रहित प्रक्रिया

  4. ORA-01002:अनुक्रम से बाहर लाना

  5. आयताकार प्रिज्म वॉल्यूम गणना के लिए पीएल/एसक्यूएल बाइंड वैरिएबल