Hallo,
ich habe mal eine Frage bezüglich einer Query.
Und zwar habe ich Elemente, die besitzen folgende Felder:
datum_beginn (DATE)
zeit_beginn (TIME)
datum_ende (DATE)
zeit_ende (TIME)
Jetzt möchte ich nur die Elemente filtern, die aktuell in dieser Sekunde sichtbar
sein dürfen. Dazu kommen folgende Bedingungen:
Die Zeiten grenzen den Sichtbarkeitszeitraum ein, das heißt,
wenn alle vier Werte 0 sind, ist das Element IMMER sichtbar.
Wenn nur Uhrzeiten gesetzt sind, ist das Element täglich für den angegeben Zeitraum sichtbar.
Wenn ein Beginnzeitpunkt gesetzt ist, aber der Endzeitpunkt 0, dann ist das Element ab dem Beginnzeitpunkt für immer sichtbar
Wie kann ich das optimal mit MySQL realisieren? Ich habe jetzt eine Lösung mit
vielen WHERE ... AND OR Bedingungen, würde aber gerne auf sowas wie "BETWEEN"
Funktionen wie NOW() und Datetime Felder umsteigen....
Gäbs da ne performantere / sauberere (als meine vorgeschlagene) Lösung für?
ich habe mal eine Frage bezüglich einer Query.
Und zwar habe ich Elemente, die besitzen folgende Felder:
datum_beginn (DATE)
zeit_beginn (TIME)
datum_ende (DATE)
zeit_ende (TIME)
Jetzt möchte ich nur die Elemente filtern, die aktuell in dieser Sekunde sichtbar
sein dürfen. Dazu kommen folgende Bedingungen:
Die Zeiten grenzen den Sichtbarkeitszeitraum ein, das heißt,
wenn alle vier Werte 0 sind, ist das Element IMMER sichtbar.
Wenn nur Uhrzeiten gesetzt sind, ist das Element täglich für den angegeben Zeitraum sichtbar.
Wenn ein Beginnzeitpunkt gesetzt ist, aber der Endzeitpunkt 0, dann ist das Element ab dem Beginnzeitpunkt für immer sichtbar
Wie kann ich das optimal mit MySQL realisieren? Ich habe jetzt eine Lösung mit
vielen WHERE ... AND OR Bedingungen, würde aber gerne auf sowas wie "BETWEEN"
Funktionen wie NOW() und Datetime Felder umsteigen....
Gäbs da ne performantere / sauberere (als meine vorgeschlagene) Lösung für?
Zuletzt bearbeitet: