我需要 mysql 和 date_sub() 方面的帮助。我有一个表调用活动
Activity(id,deadline,alert)
Activity(1,'2011-04-18','1 DAY');
Activity(2,'2011-04-13','1 MONTH');
A 中的每一行都有一个“警报”,该字段指示在截止日期之前必须报告活动的时间。
例如
On 2011-04-17 I have to report the activity with 'id' 1
On 2011-03-14 I have to report the activity with 'id' 2
我尝试使用date_sub()
函数,但我不能使用字段作为该函数的参数。知道如何解决这个问题吗?
SELECT *
FROM `activities`
WHERE date_sub(`deadline`, INTERVAL alert) >= CURDATE();
将警报分为 2 个字段
Alert_count: integer
Alert_period: enum('hour','day','month','week')
并像这样更改查询:
SELECT *
FROM `activities`
WHERE CASE alert_period
WHEN 'hour' THEN date_sub(`deadline`, INTERVAL alert_count HOUR) >= CURDATE();
WHEN 'day' THEN date_sub(`deadline`, INTERVAL alert_count DAY) >= CURDATE();
...
END CASE
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)