我正在制作一个调度程序,目前我正在保存客户端使用特定用户ID设置的提醒的详细信息。现在我想添加一个每周重复的按钮,警报将在同一时间重复接下来的7天。什么是sql查询,它存储具有相同userId但具有即将到来的7天的不同日期的多个元组。这是如何存储1条记录。
@Transactional
public boolean addSchedulerBirthdayDetails(String userId,String birthdayDate, String birthdayTime, String birthdayReminder, String reminderType, String timezone, String schedulerNotification)
{
try{
Scheduler scheduler=new Scheduler();
scheduler.setUserid(userId);
scheduler.setDate(birthdayDate);
scheduler.setTime(birthdayTime);
scheduler.setReminder(birthdayReminder);
scheduler.setReminderType(reminderType);
scheduler.setTimeZone(timezone);
scheduler.setStatus(schedulerNotification);
schedulerDao.addSchedulerBirthdayDetails(scheduler);
}
catch(Exception e)
{
e.printStackTrace();
}
return true;
}
答案 0 :(得分:0)
你想要的是这样的(主要来自here):
SET @num = -1;
SELECT DATE_ADD( '2009-01-01', interval @num := @num+1 day) AS date_sequence
FROM c_example
WHERE id IS NOT NULL
HAVING DATE_ADD('2009-01-01', interval @num day) <= '2009-01-13'
结果:
+---------------+
| date_sequence |
+---------------+
| 2009-01-01 |
| 2009-01-02 |
| 2009-01-03 |
... rest snipped...
基本上,这将产生与“虚拟”表中的记录一样多的记录 - 在本例中为c_example,或者如果您的日期溢出结束值。
P.S。欢迎来到论坛。你的问题是非常面向Java的 - 有些人可能会认为它偏离主题。参观导览,查看帮助中心并阅读“帮助我们帮助您”博客。这些网站是一个很好的资源,如果您不小心遵循指导原则,那就更是如此。