2 votes

MySQL sélectionne les éléments entre deux dates et heures

J'essaie de créer une requête dans laquelle je sélectionne les éléments d'hier à 9h00 jusqu'à aujourd'hui 9h00. Existe-t-il un moyen de le faire sans avoir besoin d'indiquer la date d'hier et la date d'aujourd'hui ?

Quelque chose comme ça :

SELECT title 
  FROM table_name 
 WHERE date >= YESTERDAY(9:00:00) 
   AND date <= TODAY(9:00:00);

3voto

Tim Biegeleisen Points 53335

Vous pouvez essayer d'utiliser :

SELECT title
FROM table_name
WHERE
    date >= DATE_SUB(TIMESTAMP(CURDATE()), INTERVAL 15 HOUR) AND
    date <= DATE_ADD(TIMESTAMP(CURDATE()), INTERVAL 9 HOUR);

La logique ici est que TIMESTAMP(CURDATE()) donne aujourd'hui à minuit. Par conséquent, 9 heures du matin le jour précédent est 15 heures avant ce moment, tandis que 9 heures du matin aujourd'hui est 9 heures après ce moment.

Prograide.com

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.

Powered by:

X