Probleme mit SQL-Befehl
Sebastian
- datenbank
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
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
Hi Daniel,
Du hast recht, jetzt hat es geklappt !
Danke !!!
MFG
Sebastian