MySQL查询根据日期返回0或1

时间:2013-07-23 23:29:09

标签: mysql

我有这个问题:

SELECT DATE_FORMAT(DATE_SUB(`expiry_date`, INTERVAL 7 DAY), '%d %m %Y')
  FROM `my_subscriptions`
 WHERE `user_id` = '[user_id]';

返回expiry_date减去7天;让我们称之为“返回日期”。

现在我想将此“返回日期”与当前日期(现在的时间)进行比较,如果当前日期小于或等于“返回日期”,则返回0,并{{1如果它更大。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用CASE并使用NOW()作为当前日期时间。试试这个

SELECT CASE WHEN NOW() <= DATE_FORMAT(DATE_SUB(`expiry_date`, INTERVAL 7 DAY), '%Y-%m-%d') THEN 0 ELSE 1 END AS is_expired FROM `my_subscriptions` WHERE `user_id` = '[user_id]';
相关问题