web-dev-qa-db-fra.com

Requête MYSQL / dates d'il y a plus d'une semaine (toutes les dates en UTC)

Comment interroger une base de données mysql pour renvoyer tous les enregistrements avec une date/heure antérieure à il y a plus d'une semaine. Notez que la table datetime stocke tout dans UTC, et je devrais la comparer dans cela même ...

Juste pour être clair - je cherche une requête pure mysql

76
tzmatt7447
SELECT * FROM tbl WHERE datetime < NOW() - INTERVAL 1 WEEK

Si votre table stocke les dates/heures dans un fuseau horaire différent de celui renvoyé par NOW(), vous pouvez utiliser UTC_TIMESTAMP() à la place pour obtenir l'horodatage au format UTC.

189
reko_t
SELECT * FROM table WHERE DATEDIFF(NOW(),colname) > 7;
15
Sajjad Shirazy
SELECT SUBDATE('2008-01-02', 7);

OR

SELECT SUBDATE(now(), INTERVAL 1 week);

Résultat:

2007-12-26

7
Michael Pakhantsov