sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo encontrar la columna menos no nula en una fila en particular en SQL?

Desafortunadamente (para su caso), el comportamiento de MENOS se cambió en MySQL 5.0.13 (http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_least ) - solía devolver NULL solo si todos los argumentos eran NULL.

Este cambio incluso se informó como un error:http://bugs.mysql.com/ error.php?id=15610 Pero la solución fue solo para la documentación de MySQL, que explica el nuevo comportamiento y la interrupción de la compatibilidad.

Su solución fue una de las soluciones alternativas recomendadas. Otro puede estar usando el operador IF:

SELECT IF(Col1 IS NULL OR Col2 IS NULL, COALESCE(Col1, Col2), LEAST(Col1,Col2))