Ich habe eine Event-Tabelle, die einen Datumsbereich mit start_date
und end_date
Felder angibt. Ich habe einen anderen Datumsbereich, der im Code angegeben ist und die aktuelle Woche als "week_start" und "week_end" definiert.Wie kann man feststellen, ob ein Datumsbereich jederzeit in einem anderen Datumsbereich auftritt?
Ich möchte alle Ereignisse für die Woche abfragen. Die Fälle zu sein scheinen:
- Ereignis beginnt und endet in der Woche
- Ereignis vor der Woche beginnt, endet aber im Laufe der Woche
- Ereignis innerhalb der Woche beginnt, endet aber nach der Woche
- Veranstaltung beginnt vor der Woche und endet auch nach der Woche
- Events, dass weder Wohnsitz innerhalb, noch überlappen die Woche überhaupt ignoriert werden
Ich versuche, eine Abfrage zu erstellen, die all diese Fälle behandeln kann. Bis jetzt konnte ich nur Fälle bekommen, die die Überschneidungen der Woche behandeln, oder Ereignisse, die vollständig intern sind; Im Wesentlichen zu viele Datensätze oder gar keine.
Dies ist ein Duplikat von http://stackoverflow.com/questions/325933/determine-wether-two-date-ranges-overlap, das eine strenge Herleitung der einfachen (nur 2 Bedingungen) Lösung hat. –