दुर्भाग्य से (आपके मामले के लिए) LEAST का व्यवहार MySQL 5.0.13 (http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_least ) - यह NULL तभी लौटाता है जब सभी तर्क NULL हों।
इस परिवर्तन को एक बग के रूप में भी रिपोर्ट किया गया था:http://bugs.mysql.com/ बग.php?id=15610 लेकिन सुधार केवल MySQL दस्तावेज़ीकरण के लिए था, जिसमें नए व्यवहार और संगतता विराम की व्याख्या की गई थी।
आपका समाधान अनुशंसित समाधानों में से एक था। दूसरा IF ऑपरेटर का उपयोग कर सकता है:
SELECT IF(Col1 IS NULL OR Col2 IS NULL, COALESCE(Col1, Col2), LEAST(Col1,Col2))