我有这个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
我在明天和后天添加了今天的日期。所以它应该找到一个
答案 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));