2010-08-30 3 views

Répondre

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

Si votre table stocke des datetime dans un fuseau horaire différent de celui renvoyé par NOW(), vous pouvez utiliser UTC_TIMESTAMP() à la place pour obtenir l'horodatage en UTC.

4
SELECT SUBDATE('2008-01-02', 7); 

OU

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

Résultat:

2007-12-26

+0

Comment puis-je faire il y a 7 jours à partir d'aujourd'hui, avec des marques date et l'heure ... – tzmatt7447

11
SELECT * FROM table WHERE DATEDIFF(NOW(),colname) > 7; 
+3

Bien que ce code peut répondre à la question, en fournissant étoffent pourquoi et/ou comment ce code répond à la question améliore sa longue valeur à long terme – JAL

+0

celui-ci est plus court, dois-je utiliser celui-ci? – moeiscool

+0

Peut-être que c'est plus court mais comment serait-il capable d'utiliser un index. – swdev

Questions connexes