我有这样的疑问:
CASE
WHEN NOW() < `Rank`.`StartDate` THEN "Pending"
WHEN NOW() > `Rank`.`StartDate` && NOW() < `Rank`.`EndDate` THEN "Active"
WHEN NOW() > `Rank`.`EndDate` THEN "Expired"
ELSE "Invalid"
END
现在的问题是:
WHEN NOW() > `Rank`.`EndDate` THEN "Expired"
EndDate
的值类似于2017-11-16 00:00:00
。现在,它将基于这个值返回Expired
,但我如何编写它,以便在Expired
=NOW()
之后返回2017-11-16 23:59:59
。 最佳答案
您可以使用date
函数只比较日期部分而忽略一天中的时间:
CASE
WHEN DATE(NOW()) < `Rank`.`StartDate`
THEN "Pending"
WHEN DATE(NOW()) >= `Rank`.`StartDate` && DATE(NOW()) <= `Rank`.`EndDate`
THEN "Active"
WHEN DATE(NOW()) > `Rank`.`EndDate`
THEN "Expired"
ELSE "Invalid"
END
关于mysql - 今天结束在MySQL中进行比较,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47325432/