Sebastian: Probleme mit SQL-Befehl

Hallo,

mit der folgenden SQL-Anweisung möchte ich mir alle Datensätze einer MySQL-DB anzeigen lassen, deren Zeitraum (wird durch die Spalten 'vom' und 'bis' festgelegt) auf das heutige Datum zutrifft.

Also Beispiel: vom:30.06.2003 bis:05.07.2003

Also viele der DS unter das heutige Datum (02.07.2003) und müsste angezeigt werden.

Das ganze mache ich mit folgendem SQL-Befehl:
SELECT *
FROM tblabwesenheit
WHERE date_format(NOW(), '%d.%m.%y') BETWEEN date_format(vom, '%d.%m.%y') AND date_format(bis, '%d.%m.%y')

Das klappt auch wenn ich z.B. eingebe:
vom: 01.07.2003 bis: 05.07.2003

Wenn der Zeitraum also im gleichen Monat liegt.

Zu Info: Das Datum wird in der DB im Format yyyy.mm.dd gespeicher, allerdings wandel ich diese ja schon in der o.g. SQL Anweisung um.

Die DB-Spalten 'vom' und 'bis' sind in der DB als DATE formatiert.

Wer weiss wo der Fehler liegt ?

MFG und Danke !

Sebastian

  1. Hi Sebastian

    Die DB-Spalten 'vom' und 'bis' sind in der DB als DATE formatiert.

    Wer weiss wo der Fehler liegt ?

    Du machst String-Vergleiche. Ich frage mich, warum du umwandelst in der Query, vom und bis sind DATE, now() gibt dir auch ein DATE, lass also einfach das ganze DATE_FORMAT Zeugs weg und es sollte gehen.

    Gruss Daniela

    --
    Nein, wir frieren unsere Hühner nicht auf Gletschern fest.
    Selfcode: sh:) fo:) ch:) rl:) br:> n4:| ie:{ mo:) va:) de:] zu:} fl:( ss:) ls:&
    1. Hi Daniel,

      Du hast recht, jetzt hat es geklappt !

      Danke !!!

      MFG
      Sebastian