2013-03-18 3 views
16

मैं मेज सेखाली तालिका के अधिकतम() शून्य के बजाय 0

SELECT MAX(cid) FROM itemconfiguration; 

हालांकि अधिकतम मूल्य का चयन करने के लिए जब तालिका itemconfiguration खाली MAX(cid) बयान NULL लिए मूल्यांकन किया जाता है, जबकि मैं एक नंबर की आवश्यकता की कोशिश के रूप में इलाज के लिए कैसे । इसे कैसे संभालें और NULL को 0 के रूप में देखें?

उत्तर

35

एनयूएलएस को संभालने के लिए बस Coalesce या NVL का उपयोग करें।

निम्नलिखित कोड प्राप्त होगा 0 यदि MAX(cid) है शून्य

SELECT COALESCE(MAX(cid), 0) 
FROM itemconfiguration 
+0

'COALESCE' बेहतर है के रूप में यह अधिक सामान्य (एक से अधिक दो तर्क ले जा सकते हैं और पहली गैर NULL भेजता है, जबकि 'एनवीएल' दो तर्कों के लिए इसका विशेष मामला है), यह [शॉर्ट सर्किट] करता है (http://stackoverflow.com/a/950103/2157640) (पहले गैर-न्यूल के बाद तर्कों का मूल्यांकन नहीं करता) और यह था एसक्यूएल-9 2 में मानकीकृत (जबकि 'एनवीएल' ओरेकल के लिए स्वामित्व है)। – Palec

संबंधित मुद्दे

 संबंधित मुद्दे