Requête SQL pour récupérer des données des 30 derniers jours?
6 réponses
SELECT productid FROM product WHERE purchase_date > sysdate-30
Le plus simple serait de spécifier
sysdate-30;
rappelez-vous que cette date-sys a la composante de temps ci-dessus, donc ce sera des commandes d'achat plus récentes que 03-06-2011 8:54 AM basé sur le temps maintenant.
si vous voulez supprimer le conponent de temps lors de la comparaison..
SELECT productid FROM product where purchase_date > trunc(sysdate-30);
Et (en fonction de vos commentaires), si vous souhaitez spécifier une date particulière, assurez-vous que vous utilisez to_date et ne vous fiez pas aux paramètres de session par défaut.
to_date ('03/06/2011', 'mm/JJ / yyyy')
et en ce qui concerne le commentaire entre (sysdate-30) - (sysdate), pour les commandes vous devriez être ok avec usin juste la condition sysdate à moins que vous puissiez avoir des commandes avec order_dates dans le futur.
attention à un aspect lorsque vous faites " purchase_date>(sysdate-30)": "sysdate" est la date courante, l'heure, la minute et la seconde. Donc "sysdate-30" n'est pas exactement "30 jours", mais "de 30 jours à cette heure exacte".
si vos dates d'achat ont 00.00.00 en heures, minutes, secondes, mieux faire:
where trunc(purchase_date)>trunc(sysdate-30)
(cela ne prend pas en compte les heures, les minutes et les secondes).
SELECT COUNT(job_id) FROM jobs WHERE posted_date < NOW()-30;
Now()
renvoie la Date et L'heure courante.
essayez ceci: en utilisant ceci vous pouvez sélectionner des données des 30 derniers jours
SELECT
*
FROM
product
WHERE
purchase_date > DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
select status, timeplaced
from orders
where TIMEPLACED>'2017-06-12 00:00:00'