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_joined
是 0000-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'
我有这个 MySQL 查询:
SELECT `date_joined`, `date_last_joined` FROM `users` WHERE `name` = "mary"
date_last_joined
列目前对所有用户都是 0000-00-00 00:00:00
。然后在他们下次登录时更新为当前日期。
所以我的问题是,如果 date_last_joined
是 0000-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'