Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Consulta de intervalos de datas SQL


Se eu acertar a pergunta, com [:start, :end] sendo seu intervalo de datas de interesse, você está procurando:
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;

Se você estiver procurando por um :day específico , use :day como :start e :day + 1 day como :end .