Hallihallo,
ich steh vor folgender MySQL-Problematik:
In einer Suchmaske kann der User *unter anderem* auswählen, ab welchem und bis zu welchem Erscheinungsjahr Schallplatten aufgelistet werden.
In der DB hat das Release-Datum jedoch kein konformes Format, sprich, da steht manchmal 27.1.2002, oder auch mal nur 2000 (das ganze ist VARCHAR). Die Jahreszahl jedoch ist immer hintendran, und vierstellig (was die Sache ja wieder etwas angenehm macht). An diesem "Format" kann aber auch nichts geändert werden, da der genaue Erscheinungstermin nicht immer bekannt ist.
Was aber alles verkompliziert, ist, wie oben schon angedeutet, daß dies nur die halbe Miete der Suchabfrage ist. Es gibt noch weitere Auswahlkriterien (Interpret, Titel usw.), welche jedoch in der Abfrage schon drin sind und zusammen auch harmonisch funktionieren.
Nur wie krieg ich jetzt die zwei Datums-Grenzen rein?
Hier mal ein Beispiel einer Abfrage *ohne* die beiden:
SELECT * FROM artikel
WHERE
(
MATCH (artist) AGAINST ('Neophyte')
OR
MATCH (titel) AGAINST ('Neophyte')
OR
MATCH (label) AGAINST ('Neophyte')
)
AND kategorie='1'
AND richtung='1';
Da würd ich das gern noch irgendwie mit einbauen (unten noch ein AND ... ran). Ich hab das Manual virtuell durchgewälzt, und bin dabei auf LIKE gestoßen, in Verbindung mit dem Platzhalter %, desweiteren auf BETWEEN min AND max, und hab da so bißchen rumgefriemelt, kam aber nichts gescheites bei raus
Hat vielleicht jemand ne Idee?
ich steh vor folgender MySQL-Problematik:
In einer Suchmaske kann der User *unter anderem* auswählen, ab welchem und bis zu welchem Erscheinungsjahr Schallplatten aufgelistet werden.
In der DB hat das Release-Datum jedoch kein konformes Format, sprich, da steht manchmal 27.1.2002, oder auch mal nur 2000 (das ganze ist VARCHAR). Die Jahreszahl jedoch ist immer hintendran, und vierstellig (was die Sache ja wieder etwas angenehm macht). An diesem "Format" kann aber auch nichts geändert werden, da der genaue Erscheinungstermin nicht immer bekannt ist.
Was aber alles verkompliziert, ist, wie oben schon angedeutet, daß dies nur die halbe Miete der Suchabfrage ist. Es gibt noch weitere Auswahlkriterien (Interpret, Titel usw.), welche jedoch in der Abfrage schon drin sind und zusammen auch harmonisch funktionieren.
Nur wie krieg ich jetzt die zwei Datums-Grenzen rein?
Hier mal ein Beispiel einer Abfrage *ohne* die beiden:
SELECT * FROM artikel
WHERE
(
MATCH (artist) AGAINST ('Neophyte')
OR
MATCH (titel) AGAINST ('Neophyte')
OR
MATCH (label) AGAINST ('Neophyte')
)
AND kategorie='1'
AND richtung='1';
Da würd ich das gern noch irgendwie mit einbauen (unten noch ein AND ... ran). Ich hab das Manual virtuell durchgewälzt, und bin dabei auf LIKE gestoßen, in Verbindung mit dem Platzhalter %, desweiteren auf BETWEEN min AND max, und hab da so bißchen rumgefriemelt, kam aber nichts gescheites bei raus
Hat vielleicht jemand ne Idee?
Kommentar