Miałem takie zapytanie z aplikacją kalendarza, którą kiedyś napisałem. Myślę, że użyłem czegoś takiego:
... WHERE new_start < existing_end
AND new_end > existing_start;
AKTUALIZUJ To zdecydowanie powinno działać ((ns, ne, es, ee) =(nowy_początek, nowy_koniec, istniejący_początek, istniejący_koniec)):
- ns - ne - es - ee:nie nakłada się i nie pasuje (ponieważ ne
- ns - es - ne - ee:nakładanie się i dopasowania
- es - ns - ee - ne:nakładanie się i dopasowania
- es - ee - ns - ne:nie nakłada się i nie pasuje (ponieważ ns> ee)
- es - ns - ne - ee:nakładanie się i dopasowania
- ns - es - ee - ne:nakładanie się i dopasowania
Oto skrzypce