[:start, :end]
を使用して、質問が正しければ あなたが興味のある日付範囲であるため、あなたは探しています:
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;
特定の:day
をお探しの場合 、:day
を使用します :start
として および:day + 1 day
:end
として 。