Gibt es eine Möglichkeit in einer MySQL-Anweisung, Datensätze (über einen Datumsstempel) nach> = NOW () -1 zu ordnen, damit alle Datensätze vom heutigen Tag bis in die Zukunft ausgewählt werden?
138
Nach der Dokumentation für Datums- / Zeitfunktionen zu urteilen , sollten Sie in der Lage sein, Folgendes zu tun:
SELECT * FROM FOO
WHERE MY_DATE_FIELD >= NOW() - INTERVAL 1 DAY
Beachten Sie, dass das Ergebnis möglicherweise geringfügig von Ihren Erwartungen abweicht.
NOW()
gibt a zurückDATETIME
.Und
INTERVAL
funktioniert wie genannt, zINTERVAL 1 DAY = 24 hours
.Wenn Ihr Skript also ausgeführt werden soll
03:00
, wird es das verfehlenfirst three hours of records from the 'oldest' day
.Um den ganzen Tag zu nutzen
CURDATE() - INTERVAL 1 DAY
. Dies wird auf den Anfang des vorherigen Tages zurückgesetzt, unabhängig davon, wann das Skript ausgeführt wird.quelle
Du bist fast da: es ist
NOW() - INTERVAL 1 DAY
quelle
Sicher kannst du:
quelle
DATE_ADD
dann-1 day
.Ich habe keine richtigen Antworten mit
DATE_ADD
oder gesehenDATE_SUB
:1 Tag abziehen von
NOW()
1 Tag ab hinzufügen
NOW()
quelle
Wenn das Suchfeld ein Zeitstempel ist und Sie Datensätze von 0 Stunden gestern und 0 Stunden heute suchen möchten, verwenden Sie die Konstruktion
stattdessen
quelle