Sử dụng COALESCE
SELECT id,
GREATEST(date1,
COALESCE(date2, 0),
COALESCE(date3, 0)) as datemax
FROM mytable
Cập nhật:Câu trả lời này trước đây đã được sử dụng IFNULL cái nào hoạt động, nhưng như Mike Chamberlain đã chỉ ra trong các nhận xét, COALESCE thực sự là phương pháp ưa thích.