2017-01-09 66 views
0

可能有很多次被问到,但我有一张有一些记录的表。一些与明天的日期和一些明天的一些。我尝试以下方法从今天到明天都不能得到正确的mySQL记录

SELECT * FROM Games where GAMEID='".$id."' AND GAMEDATE >=CURDATE() + INTERVAL 1 DAY 

而且我获得了日期为10/1/2017和2017/1/1的记录。不应该INTERVAL 1天只得到2017年10月1日的日期?

如果我使用

GAMEDATE >= DATE_SUB(CURDATE(), INTERVAL 1 DAY) AND GAMEDATE <= CURDATE() 

我得到空查询

回答

1

,如果你想只从明天

记录尝试此查询

select * from Games where GAMEDATE between curdate() + interval 1 day 
and 
curdate() + interval 2 day and GAMEID='".$id."'; 

检查演示表

sqlfiddle

0

尝试DATE_ADD(CURDATE(), INTERVAL 1 DAY)代替

0

你不能只是用另外这样。您需要使用DATE_ADD()

GAMEDATE >= DATE_ADD(CURDATE(), INTERVAL 1 DAY); 

如果你想往回走,你会用DATE_SUB

+0

我再次得到记录与2017年11月1日,而不是一起只2017/10/01 – Evridiki

+0

当你说“10/01/2017”你是指2017年10月1日或2017年一月十日? –

+0

2017年1月10日 – Evridiki