Rất tiếc (đối với trường hợp của bạn) hành vi của LEAST đã bị thay đổi trong MySQL 5.0.13 ( http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html# Chức năng_least ) - nó được sử dụng để trả về NULL chỉ khi tất cả các đối số là NULL.
Thay đổi này thậm chí còn được báo cáo là một lỗi: http://bugs.mysql.com/ bug.php? id =15610 Nhưng cách khắc phục chỉ dành cho tài liệu MySQL, giải thích hành vi mới và lỗi tương thích.
Giải pháp của bạn là một trong những cách giải quyết được đề xuất. Một người khác có thể sử dụng toán tử IF:
SELECT IF(Col1 IS NULL OR Col2 IS NULL, COALESCE(Col1, Col2), LEAST(Col1,Col2))