Mysql
 sql >> Base de données >  >> RDS >> Mysql

Requête d'intervalles de dates SQL

Si j'ai bien compris la question, avec [:start, :end] étant la plage de dates qui vous intéresse, vous recherchez :

select *
 from event
where -- event started earlier, ends later
      start <= :start and :start <= end
   or -- event starts during [:start, :end]
      :start <= start and start <= :end
   or -- event ends during [:start, :end]  
      :start <= end and end <= :end;

Si vous recherchez un :day particulier , utilisez :day comme :start et :day + 1 day comme :end .