我有这个问题:
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如果它更大。
我该怎么做?
答案 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]';