MySQL日期明智地重新查询

时间:2013-04-12 03:53:07

标签: mysql datetime mysql-parameter

我的应用程序中有一个表(mysql),用于存储用户详细信息。在这些字段中,用户可以保存其警报设置即我们将提醒用户他们保存的日期。

我的表格似乎是

id   |    Username     |   name    |    alert_date            |     repeat_on
--------------------------------------------------------------------------------
12   |    user_name    |   name    |  2013-08-12 00:00:00     |     30
15   |    user_nam2    |   name    |  2013-05-12 00:00:00     |     45
--------------------------------------------------------------------------------

通过cron-job,我们会向用户发送提醒电子邮件和短信。像

select * from users where date(alert_date)=CURRENT_DATE

它的工作正常,但有一个选项可以根据“repeat_on”天重复警报。就像我们必须在alert_date中每隔30天(或任何时候)重复警报。我被困在这里查询。请问有人帮我一把吗?

还有一个疑问是,这个表的正确结构是一样的吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

尝试:

SELECT * FROM users 
WHERE alert_date <= CURRENT_DATE AND DATE_ADD(alert_date, INTERVAL repeat_on DAY) >= CURRENT_DATE