Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como encontrar a menor coluna não nula em uma linha específica no SQL?


Infelizmente (para o seu caso) o comportamento de MENOS foi alterado no MySQL 5.0.13 (http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_least ) - costumava retornar NULL somente se todos os argumentos fossem NULL.

Essa mudança foi relatada como um bug:http://bugs.mysql.com/ bug.php?id=15610 Mas a correção foi apenas para a documentação do MySQL, explicando o novo comportamento e quebra de compatibilidade.

Sua solução foi uma das soluções alternativas recomendadas. Outro pode estar usando o operador IF:
SELECT IF(Col1 IS NULL OR Col2 IS NULL, COALESCE(Col1, Col2), LEAST(Col1,Col2))