2014-05-18 19 views
9

Ich möchte Evry Rekord von meiner MySQL-Datenbank, die größer als heute ist.MySQL Wo DateTime größer ist als heute

Probe:

"Go to Lunch","2014-05-08 12-00-00" 
"Go to Bed","2014-05-08 23-00-00" 

Nur Ausgabe sollte:

"Go to Bed","2014-05-08 23-00-00" 

Ich benutze den Datetime für die Datumsspalte

Bereits gesucht:

MySQL Where date is greater than one month?

Datetime equal or greater than today in MySQL

Aber das funktioniert nicht für mich.

QUERY (für PHP):

SELECT `name`,`date` FROM `tasks` WHERE `tasks`.`datum` >= DATE(NOW()) 

OR (FOR PhpMyAdmin)

SELECT `name`,`date` FROM `tasks` WHERE `tasks`.`datum` >= 2014-05-18 15-00-00; 

Bitte helfen Sie mir die Arbeit Abfrage zu schreiben.

+0

Mit Strichen CURDATE ist keine gute Idee. Verwenden Sie stattdessen '23: 00: 00'. –

+1

Heute ist der 18. Mai, wo ich bin (und in den meisten Teilen der Welt). Warum würde eine Abfrage, um Daten in der Zukunft zu erhalten, eine Zeile mit "2014-05-08" als Datum zurückgeben? –

+0

Es ist etwas komisch zu sagen, dass Sie alles größer als heute wollen, aber schließen Sie dann "2014-05-08 23-00-00" ein, was den gleichen Tag anzeigen würde (nicht größer als heute). –

Antwort

18

Entfernen Sie den date() Teil

SELECT name, datum 
FROM tasks 
WHERE datum >= NOW() 

und wenn Sie ein bestimmtes Datum verwenden, vergessen Sie nicht die Anführungszeichen um ihn herum und verwenden das richtige Format mit :

SELECT name, datum 
FROM tasks 
WHERE datum >= '2014-05-18 15:00:00' 
+0

I Ich weiß nicht, dass das heute gleich ist. –

+0

Danke, das funktioniert für mich. Ich schreibe auch die WHERE nach der ORDER By. Aber jetzt funktioniert es: D – user3649738

4

Ich denke, man sucht CURDATE() oder NOW().

SELECT name, datum 
    FROM tasks 
    WHERE datum >= CURDATE() 

sehen die rsult von heute und in Stunden/Minuten/Sekunden

NOW()     CURDATE()   
    2008-11-11 12:45:34  2008-11-11  
+0

Ich vermute, dass das OP auch Striche in ihrer Zeit haben kann. Das könnte dazu beitragen, dass "nichts funktioniert". –

-2
SELECT * 
FROM customer 
WHERE joiningdate >= NOW(); 
+0

Ihre Antwort ist wie die angenommene Antwort !! - Bitte entfernen Sie Ihren Beitrag und halten Sie SO sauber;). –

Verwandte Themen