sql >> Database >  >> RDS >> Mysql

Hoe de minste niet-null-kolom in een bepaalde rij in SQL te vinden?

Helaas (voor jouw geval) is het gedrag van LEAST gewijzigd in MySQL 5.0.13 (http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_least ) - het retourneerde alleen NULL als alle argumenten NULL zijn.

Deze wijziging werd zelfs gemeld als een bug:http://bugs.mysql.com/ bug.php?id=15610 Maar de oplossing was alleen voor MySQL-documentatie, waarin het nieuwe gedrag en de compatibiliteitsonderbreking werden uitgelegd.

Uw oplossing was een van de aanbevolen oplossingen. Een andere kan de IF-operator gebruiken:

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


  1. mySql:haalt de rijen op waar het aantal woorden in de cel (gescheiden door komma's) dezelfde waarde heeft als een overeenkomende cel

  2. Get Error:U moet ten minste één postgresql-client-<version>-pakket installeren wanneer u implementeert naar heroku

  3. Mysql-query retourneert resource-ID #8 in plaats van gewenste waarde

  4. Afbeeldingen opslaan en ophalen in sql-serverdatabase via VB.NET