Falcon: MySQL Abfrage - Datum/Zeitraum

Hallo,

ich habe in einer MySQL-Datenbank eine Tabelle in welcher ich zwei Spalten vom Typ "date" erstellt habe. Diese heissen:

  • date_from
  • date_to

Nun möchte ich alle Einträge anzeigen, die neueren Datums in date_from sind.

Ich habe es so probiert:

SELECT id, date_from FROM fotos WHERE date_from > 1998-01-01

Allerdings liefert mir diese Abfrage auch Einträge, die vor dem 1998-01-01 liegen.

Der Endzustand soll mal sein, dass ich Fotos suchen kann, bei denen das Datum nicht bekannt, aber ein Zeitraum definiert ist. Zum Beispiel ein Foto hat die Werte 1995-01-01 bis 1999-12-31 und ich suche später nach Fotos aus dem Jahr 1996, dann soll dieses mit auftauchen.

Gehe ich falsch an die Sache ran?

MfG Falcon

akzeptierte Antworten

  1. Tach!

    Nun möchte ich alle Einträge anzeigen, die neueren Datums in date_from sind.

    Ich habe es so probiert:

    SELECT id, date_from FROM fotos WHERE date_from > 1998-01-01

    Allerdings liefert mir diese Abfrage auch Einträge, die vor dem 1998-01-01 liegen.

    Gehe ich falsch an die Sache ran?

    Ja, du hast kein Datum notiert sondern eine Rechenaufgabe. Das Ergebnis von 1998 minus 1 minus 1 wird dann versucht in einen Datumswert zu konvertieren, damit der Vergleich stattfinden kann. Und diese Konvertierung ergibt nicht das von dir vorgesehene Datum. Das Literal eines Datums ist mit Anführungszeichen zu notieren.

    dedlfix.

    1. Ohje, manchmal sieht man den Wald vor lauter Bäumen nicht. Danke für die Aufgleisung!