J'ai un champ nommé timestamp
. C'est la dernière fois qu'un membre est connecté. Je cherche à inclure une clause where dans une requête pour quelque chose comme
WHERE timestamp > todays date - 6 weeks
Comment pourrais-je faire ça? J'essaie d'inclure uniquement les utilisateurs qui se sont connectés au cours des 6 dernières semaines.
Merci
Je trouve cette syntaxe plus lisible que date_sub
, mais dans les deux cas, cela fonctionne.
WHERE timestamp >= NOW() - INTERVAL 6 WEEK
Si vous voulez passer par "Aujourd'hui" (minuit) au lieu de "maintenant" (heure actuelle), vous utiliseriez ceci
WHERE timestamp >= DATE(NOW()) - INTERVAL 6 WEEK
where column>=date_sub(now(), interval 6 week)
Ce lien montre comment vous pourriez acquérir un horodatage d'hier en utilisant le format DATE_ADD(CURDATE(), INTERVAL -1 DAY)
, donc votre requête serait probablement:
WHERE timestamp > DATE_ADD(CURDATE(), INTERVAL -42 DAY)
Vous pouvez utiliser entre et now()
:
select somevalue
from yourtable
where yourtimestamp between now() - interval 1 day and now()