sql >> Databasteknik >  >> RDS >> Mysql

MySQL:få MAX eller GREATEST av flera kolumner, men med NULL-fält

Använd COALESCE

SELECT id, 
   GREATEST(date1, 
     COALESCE(date2, 0),
     COALESCE(date3, 0)) as datemax 
FROM mytable

Uppdatering:Det här svaret använde tidigare IFNULL vilket fungerar, men som Mike Chamberlain påpekade i kommentarerna, COALESCE är faktiskt den föredragna metoden.



  1. Hur man tar bort en kolumn i SQL Server med T-SQL

  2. Hur man skapar en tabell i Oracle SQL Developer?

  3. Vad är det bästa sättet att välja minimivärdet från flera kolumner?

  4. Hur ansluter jag Java till Mysql?