MySQL: get MAX or GREATEST of several columns, but with NULL fields

后端 未结 4 2227
刺人心
刺人心 2020-12-07 22:24

I\'m trying to select the max date in three different fields in each record (MySQL) So, in each row, I have date1, date2 and date3: date1 is always filled, date2 and date3 c

4条回答
  •  难免孤独
    2020-12-07 23:20

    Use COALESCE

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

    Update: This answer previously used IFNULL which does work, but as Mike Chamberlain pointed out in the comments, COALESCE is actually the preferred method.

提交回复
热议问题