Ik had zo'n vraag met een agenda-applicatie die ik ooit schreef. Ik denk dat ik zoiets als dit heb gebruikt:
... WHERE new_start < existing_end
AND new_end > existing_start;
UPDATE Dit zou zeker moeten werken ((ns, ne, es, ee) =(new_start, new_end, bestaande_start, bestaande_end)):
- ns - ne - es - ee:overlapt niet en komt niet overeen (omdat ne
- ns - es - ne - ee:overlapt en komt overeen
- es - ns - ee - ne:overlapt en komt overeen
- es - ee - ns - ne:overlapt niet en komt niet overeen (omdat ns> ee)
- es - ns - ne - ee:overlapt en komt overeen
- ns - es - ee - ne:overlapt en komt overeen
Hier is een viool