Comment soustraire 30 jours de la date actuelle dans mysql ?
SELECT * FROM table
WHERE exec_datetime BETWEEN DATEDIFF(NOW() - 30 days) AND NOW();
Comment soustraire 30 jours de la date actuelle dans mysql ?
SELECT * FROM table
WHERE exec_datetime BETWEEN DATEDIFF(NOW() - 30 days) AND NOW();
Si vous n'avez besoin que de la date et non de l'heure, utilisez :
select*from table where exec_datetime
between subdate(curdate(), 30)and curdate();
Depuis curdate()
omet la composante temporelle, c'est potentiellement plus rapide que now()
et plus "sémantiquement correct" dans les cas où seule la date vous intéresse.
En outre, subdate()
est potentiellement plus rapide que l'utilisation de la surcharge de 2-arité de interval
. interval
est destiné aux cas où vous avez besoin d'une composante non journalière.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Je préfère
SELECT * FROM table WHERE exec_datetime >= DATE_SUB(NOW(), INTERVAL 30 DAY);