Mysql
 sql >> Database >  >> RDS >> Mysql

Interrogazione degli intervalli di date SQL

Se ho capito bene la domanda, con [:start, :end] essendo il tuo intervallo di date di interesse, stai cercando:

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 stai cercando un particolare :day , usa :day come :start e :day + 1 day come :end .