如何通过排除特定日期从过去获得第7个日期

时间:2016-11-09 07:07:15

标签: mysql date

我已经准备了一个MySql查询,通过排除特定日期的列表,从给定日期获取确切的第7个过去日期 即。

如果我将日期作为2016-10-21传递,则输出'将为2016-10-12,排除指定逗号分隔日期2016-10-16,2016-10-15,2016-10-10的特定日期。{I} ;尝试了一些事情

SELECT *
FROM 
table where id = 46 and 
(
startdate >= DATE_SUB("2016-10-21 00:00:00",INTERVAL 7 DAY) and 
startdate <= DATE_SUB("2016-10-21 23:59:59",INTERVAL 7 DAY) and 
startdate NOT IN ('2016-10-16 00:00:00','2016-10-15 00:00:00','2016-10-10 00:00:00')
)

但它似乎没有按预期工作。如何在DATE_SUB函数

中排除逗号分隔日期

输入:2016-10-21 预期输出:2016-10-12

1 个答案:

答案 0 :(得分:1)

首先,我会从今天的日期,每个排除日期中减去。如果结果是&lt; = 7,我会为每个增加'c'计数器。

最后,我只需要将'c'添加到'7',然后创建一个简单的DATE_SUB,其中包含原点日期和向计数器添加7的结果。