MySQL: obtenir un MAX ou PLUS de plusieurs colonnes, mais avec des champs NULL

Je suis en train de sélectionner le max date dans trois différents champs de chaque enregistrement (MySQL)
Ainsi, dans chaque ligne, j'ai date1, date2 et date3: date1 est toujours rempli, date2 et date3 peut être NULL ou vide
La PLUS grande déclaration est simple et concis, mais n'a aucun effet sur les champs NULL, donc cela ne fonctionne pas bien:

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

J'ai essayé aussi des solutions plus complexes comme ceci:

SELECT
    CASE
        WHEN date1 >= date2 AND date1 >= date3 THEN date1
        WHEN date2 >= date1 AND date2 >= date3 THEN date2
        WHEN date3 >= date1 AND date3 >= date2 THEN date3
        ELSE                                        date1
    END AS MostRecentDate

Même problème ici: les valeurs NULL sont un GRAND problème dans le retour de la droite enregistrements

S'il vous plaît, avez-vous une solution?
Merci d'avance....

InformationsquelleAutor Ivan | 2012-03-22