mysql забрать недавно дату - PullRequest
0 голосов
/ 20 января 2020

У меня в таблице ниже трех столбцов дат, и все они являются столбцами даты и времени:

LastUse_Date
LastRecharge_Date
LastUpdate

Я хотел бы знать, как сравнить эти три столбца и выбрать самую последнюю дату, а также некоторые записи показать эти поля с одним или двумя столбцами с нулевым значением.

1 Ответ

2 голосов
/ 20 января 2020

Вы можете использовать функцию greatest(). Чтобы справиться с null s, используйте coalesce(), чтобы вернуть минимальное возможное время и дату в MySql, равном '1000-01-01 00:00:00'. Я предполагаю, что не все 3 даты могут быть null.

select greatest(
  coalesce(LastUse_Date, '1000-01-01 00:00:00'),
  coalesce(LastRecharge_Date, '1000-01-01 00:00:00'), 
  coalesce(LastUpdate, '1000-01-01 00:00:00')
) mostrecentdate
from tablename

См. Упрощенную демонстрацию .

...