Мне нужно обновить строку формулой, основанной на наибольшем значении двух столбцов DATETIME. Я обычно делал бы это:
GREATEST(date_one, date_two)
Однако оба столбца могут иметь значение NULL. Мне нужна наибольшая дата, даже когда другой равен NULL (конечно, я ожидаю NULL, когда оба NULL), и GREATEST()
возвращает NULL, если один из столбцов равен NULL.
Кажется, это работает:
GREATEST(COALESCE(date_one, date_two), COALESCE(date_two, date_one))
Но мне интересно ... я упускаю более простой метод?