datumsberechnung im sql query

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • datumsberechnung im sql query

    Hallo!

    Folgendes Problem:

    Ich habe in einer MySQL Datenbank Serientermine für einen Kalender abgespeichert.
    Diese werden in der Form
    user | beschreibung | datum_start | datum_ende | wiederholung
    gespeichert.

    datum_start und datum_ende werden im DATE Format abgespeichert, wiederholung kann die werte 1 (für täglich), 7 (für wöchentlich), 14 (für 14-tägig), monat (für monatlich) und jahr für (jährich) haben.

    Wenn ich nun in einem Script für einen bestimmten Tag in der Datenbank abfragen möchte ob für diesen Tag ein Serientermin vorhanden ist, mache ich das zur Zeit so, dass ich alle Serientermine, bei denen der zu überprüfende Tag zwischen datum_start und datum_ende liegt, aus der Datenbank hole, und dann erst mittels PHP überprüfe ob an diesem Tag einer der Serientermine zutrifft (mittels Rechnungen von Startdatum und Wiederholung).

    Hat jemand eine Idee wie ich direkt nur die passenden Termine aus der Datenbank holen kann?


    Über eine Antwort würde ich mich freuen

    Danke!!!

  • #2
    wähle dir die geeignete Funktion aus: http://dev.mysql.com/doc/mysql/en/da...functions.html

    Kommentar


    • #3
      Super! Das mit dem + INTERVAL ( SELECT "1997-12-31 23:59:59" + INTERVAL 5 SECOND; ) geht ja schon in die richtige Richtung!

      Aber so wie ich das sehe wird der Intervall dann nur einmal durchgeführt, oder? Ich bräuchte es ja dass es mehrmals sein kann... Ein Serientermin kann ja z.B. jede Woche über fünf Monate gehen.

      Kommentar


      • #4
        Original geschrieben von magman
        Ein Serientermin kann ja z.B. jede Woche über fünf Monate gehen.
        was ist datum_ende bei dir? ist das die obere Grenze?

        Kommentar


        • #5
          Genau! Die obere Grenze! Also bis zu diesem Datum wird der Termin in dem Intervall "wiederholung" wiederholt.

          Kommentar


          • #6
            abhängig von deiner MySQL-Version könntest du u.U. Cursor verwenden, ansonstens mußt du leider php-seitig lösen.

            Kommentar

            Lädt...
            X