2017-01-09 3 views
0

Wahrscheinlich wird es viele Male gefragt, aber ich habe eine Tabelle mit einigen Aufzeichnungen. Einige mit dem Datum von morgen und einige mit übermorgen. Ich versuche folgendesKann korrekte mySQL Aufzeichnungen von heute bis morgen nicht erhalten

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

Und ich bekomme Aufzeichnungen mit Daten 10/1/2017 und 11/1/2017. Sollte INTERVAL 1 DAY nicht nur die Daten vom 01.10.2017 erhalten?

Wenn ich

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

ich leere Abfrage

Antwort

1

, wenn Sie die Datensätze wollen nur von morgen

Diese Abfrage

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

Scheck Demo Tabelle

sqlfiddle

0

Versuchen DATE_ADD(CURDATE(), INTERVAL 1 DAY) statt

0

Sie können nicht nur zusätzlich wie diese verwenden. Sie müssen DATE_ADD() verwenden:

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

Wenn Sie rückwärts gehen wollen, werden Sie DATE_SUB verwenden.

+0

Wieder ich Aufzeichnungen zusammen mit 2017.11.01 bekommen und nicht nur 10/01/2017 – Evridiki

+0

Wenn Sie "10/01/2017" meinen, meinen Sie den 1. Oktober 2017 oder den 10. Januar 2017? –

+0

10. Januar 2017 – Evridiki

Verwandte Themen