MySQL选择x天增量的所有日期

时间:2014-05-26 19:13:46

标签: mysql sql date

是否可以查询将来增加x天的所有日期?

SELECT * 
FROM bookings 
WHERE date >= CURDATE()
AND 
(
       date = CURDATE() + INTERVAL 6 DAY 
   OR  date = CURDATE() + INTERVAL 12 DAY
   OR  date = CURDATE() + INTERVAL 18 DAY
   etc.
)

2 个答案:

答案 0 :(得分:9)

类似的东西:

SELECT
     *
FROM table
WHERE
    date >= CURDATE()
    AND
    DATEDIFF(CURDATE(), date) % 6 = 0

Datediff返回天数差异,% 6表示将剩余时间除以6。

答案 1 :(得分:-3)

是。 但是,你的逻辑是有缺陷的。你可能意味着

SELECT * 
FROM table 
WHERE 
    date = CURDATE() + INTERVAL 6 DAY 
OR  date = CURDATE() + INTERVAL 12 DAY
OR  date = CURDATE() + INTERVAL 18 DAY

并且不要使用表格,例如" table"和#34; date"等字段名称(即保留字)。