यदि कोई तर्क NULL है, तो आप अन्य तर्कों में से कम से कम लेना चाहते हैं। यदि सभी तर्क NULL हैं, तो आप NULL वापस करना चाहते हैं।
मैं दो तर्कों के लिए कुछ इस तरह का उपयोग कर सकता हूं:
LEAST(NVL(colA,colB), NVL(colB,colA))
हालांकि>2 तर्कों के लिए यह बदसूरत होने लगता है:
LEAST(COALESCE(colA,colB,colC)
,COALESCE(colB,colA,colC)
,COALESCE(colC,colA,colB))
किस बिंदु पर मैं जादुई मूल्यों पर विचार करना शुरू करूंगा; लेकिन यह छोटी गाड़ी हो सकती है (उदाहरण के लिए क्या होगा यदि मूल्यों में से एक वैध रूप से है जादू मूल्य?):
SELECT CASE WHEN r = maxv THEN NULL ELSE r END AS result
FROM (SELECT LEAST(NVL(:colA,maxv)
,NVL(:colB,maxv)
,NVL(:colC,maxv)) AS r, maxv
FROM (SELECT 9.999999999999999999999999999999999999999e125
AS maxv FROM DUAL));