9
votes

Comment obtenir des résultats supérieurs à hier

J'ai une base de données qui stocke la date pour chaque entrée avec le format DateTime. Je n'ai besoin que de récupérer des résultats supérieurs à hier. Je dis hier parce que j'ai besoin des résultats de la journée en cours et de l'avant.

Actuellement, j'ai ce qui suit.

$ YEST = mktime (0, 0, 0, date ("m"), date ("d") - 1, date ("y");
$ yest_date = date ('n-j-o', $ yest);

Sélectionnez * à partir de Tbl_name où date_format (Event_Date, \ "% c-% d-% y \")> '". $ YEST_DATE."'

Cela ne donne aucun résultat même si je sais qu'il y a des événements. Toute aide serait grandement appréciée.


0 commentaires

6 Réponses :


21
votes

Sélectionnez * à partir de tbl_name où event_date> date_sub (maintenant ((), intervalle 1 jour)


1 commentaires

Cela ne fonctionnera pas car il ne supprime pas la partie temporelle. Hier est très probablement à partir de 00:00:00 , pas au maintenant () - 1



4
votes
SELECT * FROM TBL_NAME WHERE event_date >= CURDATE()

0 commentaires

7
votes
WHERE event_date > date(now()) - 1

0 commentaires

6
votes
Select * from tbl_name WHERE event_date > DATE_SUB(curdate(), INTERVAL 1 DAY)
This should have it start from the beginning of yesterday rather than 24hours back from the time the query is run.If you have this run in a cron you should probably verify the timezone of the database vs the server so that you don't run it for two days back intending to run at 12:01 but actually running at 11:01 due to variance.

0 commentaires

0
votes

Qu'est-ce que celui-ci est de choisir des valeurs à partir de la première minute aujourd'hui jusqu'à la dernière minute aujourd'hui. xxx


0 commentaires

2
votes
SELECT * FROM tbl_name WHERE field_date > now()- interval 1 day;

0 commentaires