Имах такова запитване с приложение за календар, което написах веднъж. Мисля, че използвах нещо подобно:
... WHERE new_start < existing_end
AND new_end > existing_start;
АКТУАЛИЗИРАНЕ Това определено трябва да работи ((ns, ne, es, ee) =(нов_старт, нов_край, съществуващ_старт, съществуващ_край)):
- ns - ne - es - ee:не се припокрива и не съвпада (защото ne
- ns - es - ne - ee:припокривания и съвпадения
- es - ns - ee - ne:припокривания и съвпадения
- es - ee - ns - ne:не се припокрива и не съвпада (защото ns> ee)
- es - ns - ne - ee:припокривания и съвпадения
- ns - es - ee - ne:припокривания и съвпадения
Ето цигулка