[MySQL] Keine Ausgabe bei Abfrage mit Datum

exxe

Mitleser
Hallo,

ich habe mal wieder ien kleines MySQL-Abfrage-Problem.

Meine Tabelle sieht folgendermaßen aus:

Code:
+----+--------+------------+------------+
| id | fzg_id | datum_an   | datum_ab   |
+----+--------+------------+------------+
| 1  |  1     | 2006-01-10 | 2006-01-01 |
| 2  |  3     | 2006-01-07 | 2006-01-02 |
| 3  |  2     | 2006-01-05 | 2006-01-03 |
| 4  |  2     | 2006-01-07 | 2006-01-06 |
| 5  |  2     | 2006-01-12 | 2006-01-09 |
| 7  |  3     | 2006-01-12 | 2006-01-08 |
| 8  |  3     | 2006-01-01 | 2006-01-01 |


Mit folgender Abfrage lasse ich mir alle Zeilen anzeigen, die mein gewünschtes Datum nicht beinhalten (in diesem Beispiel $datum = '2006-01-06'):


PHP:
mysql_query("SELECT * FROM kunde 
   WHERE 
      '".$datum."' 
   NOT BETWEEN 
      `datum_ab` 
         AND 
      `datum_an`") or die (mysql_error());

Ausgegeben wird hier:


Code:
2 id3   2006-01-03 bis 2006-01-05
2 id5   2006-01-09 bis 2006-01-12
3 id7   2006-01-08 bis 2006-01-12
3 id8   2006-01-01 bis 2006-01-01

Nun möchte ich aber nur die Zeilen anzeigen lassen, bei denen "datum_ab" größer ist als mein vorgegebenes Datum (immer noch $datum = '2006-01-06').
Es sollen also in diesem Beispiel nur die Zeilen mit id5 und id7 angezeigt werden.
Dies habe ich mit folgender Abfrage versucht zu lösen:

PHP:
mysql_query("SELECT * FROM kunde 
   WHERE 
      ('".$datum."' 
   NOT BETWEEN 
      `datum_ab` 
         AND 
      `datum_an`) 
   AND 
      (`datum_ab` > '".$datum."')") or die (mysql_error());


Allerdings wird dann nichts - nicht mal eine Fehlermeldung - ausgegeben.

Daher meine Frage, ob dies überhaupt so zu lösen ist oder ob ich irgendwo einen Denkfehler habe.
Ich hoffe, dass mir noch zu helfen ist ;)
 
Zuletzt bearbeitet:
Wenn ich das so durchführe, dann kommt das richtige Ergebnis raus.

Aber eigentlich reicht doch auch das folgende, oder?
Code:
SELECT *
  FROM kunde
  WHERE `datum_ab` > '2006-01-06';
 
@Pendergast:
Sicher, dass diese beiden Zeilen ausgegeben werden müssten? Gilt wirklich 2005-01-12 > 2006-01-06?

Da ist mir doch glatt ein Fehler unterlaufen. Sollte eigentlich 2006-01-12 heißen. Habs korrigiert.

@ninungo: Hmmm... jetzt wo du es erwähnst :) Ich glaub ich hab da irgendwo zu kompliziert gedacht :-(
Funktioniert natürlich prächtig. Danke!
 
Zurück