MySQL 检查日期为 0000-00-00 的情况 00:00:00?

MySQL check case where a date is 0000-00-00 00:00:00?

我有这个 MySQL 查询:

SELECT `date_joined`, `date_last_joined` FROM `users` WHERE `name` = "mary"

date_last_joined 列目前对所有用户都是 0000-00-00 00:00:00。然后在他们下次登录时更新为当前日期。

所以我的问题是,如果 date_last_joined0000-00-00 00:00:00,我将如何 return date_joined,如果不是,我将如何 date_last_joined?这在 MySQL 查询中可能吗?

原因是 returning 0000-00-00 00:00:00 在 Java 准备好的 MySQL 查询中会导致各种问题。

您可以使用IF流量控制运算符:

SELECT IF(`users`.`date_last_joined` = '0000-00-00 00:00:00',
          `users`.`date_joined`, `users`.`date_last_joined`) AS `join_date`
FROM `users`
WHERE `users`.`name` = 'mary'