MySql - PHP: Zwischen 2 Datumsangaben

siclesv

Grünschnabel
Guten Tag,

ich habe in der Datenbank diverse Einträge mit 2 Datumsangaben (Start und Ende). Weiter gibt es die Option, in welchem Interval diese Einträge zutreffen (z. B. alle 2 Tage ab Start, jede 3. Woche ab Start).

Wie baue ich nun die Query, die das berücksichtigen kann?

Beispiel:

Heute: 2017-08-15

Es gibt einen Eintrag in der DB: Start: 2017-08-13; Ende 2018-08-13

Es soll geprüft werden, ob das heutige Datum
a) innerhalb von Start und Ende liegt (kein Problem)
b) ein Datum von Start ist, welches im Interval von "jeden 2. Tag ab Start" liegt
 
Ich verstehe deine b) nicht ganz.
Meinst du so etwas
SQL:
where 2017-08-15 between start and date_add(start, INTERVAL 2 DAY)
 
Konkret geht es um einen Termin mit dem Beginn am 13.8.2017 und einer Gültigkeit / Laufzeit bis einschl. 13.8.2017. Dieser Termin ist ein "Serientermin", der an jedem 2. Tag ist.

Nun möchte ich wissen, ob an einem beliebigen Datum dieser Termin ist, weil es der "2. Tag" ist oder nicht.

Beispiel:

15.8.2017 - Termin ist an diesem Tag
22.8.2017 - Termin ist nicht an diesem Tag
 
Ungetestet
SQL:
where mod(datediff(2017-08-22, 2017-08-15), 2) = 0
Mit datediff dir Different in Tagen ermitteln
Mit mod() prüfen, ob Differenz/2 einen Restbetrag hätte. Wenn nicht -> Treffer
 
Zurück