Hvis jeg forstår spørgsmålet rigtigt, med [:start, :end]
da du er dit datointerval, leder du efter:
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;
Hvis du leder efter en bestemt :day
, brug :day
som :start
og :day + 1 day
som :end
.