所以我有一行显示它何时被创建! (即12/1/2013),我有重复的模式,其频率与之相关。
频率为1到6,重复模式为每日,每周,每月和每年。
因此,用户可以像{频率:1,重复发生:每月}或{频率:2,重复发生:每月}重复设置
我需要一个查询,该查询将获取当前日期和创建日期,并查看当前日期是否低于该频率。
因此,如果创建日期:2013年12月1日,今天:2014年2月1日,{frequency:2,Recurrence:Monthly}将有效。
答案 0 :(得分:2)
试试这个sqlFiddle它使用一个函数来检查给定日期是否在计划中的每一行重复出现
答案 1 :(得分:1)
假设:
然后以下内容将起作用:
DATEDIFF()
函数ABS()
函数MOD()
函数以下是一些示例代码:
SELECT
IF(MOD((ABS(DATEDIFF(createdDate,'2014-02-01'))/days),frequency)=0,'valid','invalid') AS result
FROM
schedule
INNER JOIN recurringtypes ON schedule.recurringtypeId=recurringtypes.id
已编辑:SQLFiddle