Mysql
 sql >> Database >  >> RDS >> Mysql

Come trovare la colonna meno nulla in una riga particolare in SQL?

Sfortunatamente (per il tuo caso) il comportamento di LEAST è stato modificato in MySQL 5.0.13 (http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_least ) - restituisce NULL solo se tutti gli argomenti sono NULL.

Questa modifica è stata persino segnalata come bug:http://bugs.mysql.com/ bug.php?id=15610 Ma la correzione riguardava solo la documentazione di MySQL, che spiegava il nuovo comportamento e l'interruzione della compatibilità.

La tua soluzione era una delle soluzioni alternative consigliate. Un altro può utilizzare l'operatore IF:

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