sql抓住3天后有日期的结果

时间:2016-02-26 18:36:05

标签: php mysql

我有这个SQL查询,假设从今天起3天内获取所有结果....但我不确定它用于比较的时间戳是否必须完全匹配,或者如果他们的方式我写了当天任何一小时的任何帖子。这就是我所拥有的:

SELECT * from wptb_clinic WHERE DATE(clinic_date) IN (DATE_ADD(CURDATE(), INTERVAL 1 DAY))

clinic_date将是表wptb_clinic中保存的时间戳。其余的是我得到的stackoverflow ....这是一个cron工作,设置为每天一次,并发送一个提醒电子邮件给所有匹配的诊所......所以CURDATE()会有所不同每一次。

这是一个方形的

http://sqlfiddle.com/#!9/0a1dc1/2

我在明天和后天添加了今天的日期。所以它应该找到一个

1 个答案:

答案 0 :(得分:0)

未来3天,将是

select  now()  + INTERVAL 3 day

如果您希望将来3天但是在0:00(午夜)

select  date(now()  + INTERVAL 3 day)

所以你的查询可能看起来像:

SELECT * from wptb_clinic WHERE clinic_date > date(now()  + INTERVAL 3 day)

以下是测试方法。如果要使用整数,则需要使用FROM_UNIXTIME()。您可以随时使用“2015-06-25”等日期。

CREATE TABLE Clinics(
   `id` int, 
   `Name` varchar(250), 
   `date` timestamp
);

INSERT INTO Clinics
    (`id`, `Name`, `date`)
VALUES
    (1, 'clinic1', FROM_UNIXTIME(1456444800)),
    (2, 'clinic2', FROM_UNIXTIME(1456531200)),
    (3, 'clinic3', FROM_UNIXTIME(1456617600));

SELECT *
FROM Clinics
WHERE DATE(date) > (DATE_ADD(CURDATE(), INTERVAL 1 DAY));