phpbar.de logo

Mailinglisten-Archive

Re: Problem SELECT
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem SELECT



Hi ich ;-)

Am Sam, 13 Jan 2001 schrieb Rene Kurt:
> Einträgen, ein Feld darin heisst "Name" darin sin Künstlernamen mit
> Geburtsdatum gespeichert. Wie die Daten gespeichert sind, habe ich bereits
> geändert bzw. damit gespielt. Eigentlich sollte der Eintrag z.B. "Acosta
> Leon *1930" sein, habe auch schon den "*" weggelassen.
Ich würde daraus erst einmal zwei Spalten machen: "Name" und "Geburt". Ggf.
noch eine dritte Spalte "Tod" o.ä.. Dann kannst du problemlos auf das *
verzichten (in der Ausgabe kann man es ja, falls gewünscht mit concat
wieder davor setzen). Außerdem hast du so viel bessere
Abfragemöglichkeiten, z.B. alle 1925 geborenen Künstler. Oder alle die
zwischen 1925 und 1940 geboren wurden (das geht, wenn überhaupt, mit
deiner Tabelle nur sehr umständlich).

Doch nun zu deinem Problem:
> SELECT * FROM artist WHERE Name LIKE "Acosta Leon %"
> 
> schreibe ich aber z.B. "Acosta Leon *%" dann geht schon nicht mehr. Beachte,
Kann es sein, das du vielleicht ein Leerzeichen zuviel in den Texten hast?
Wenn dort "Acosta Leon  *1930" steht (ZWEI Leerzeichen vor dem *) dann
findet ein LIKE "Acosta Leon %" das aber ein LIKE "Acosta Leon *%" nicht!
Probier mal LIKE "Acosta Leon %1930". Wenn das geht, könnte es daran
liegen.

Wenn du die Aufteilung der Spalten machst wie oben vorgeschlagen,
verhindert das zwar nicht solche Leerzeichen-Probleme vollständig, kann
aber helfen sie zu verringern. So wären überzählige LZ zwar in Name
weiterhin möglich (aber leichter erkenn- und entfernbar -> TRIM), aber in
Geburt und Tod nicht (natürlich nur, wenn du diese als Zahlen-Spalten
anlegst (smallint sollte für Jahreszahlen reichen)).

Im Übrigen: Bei uns in der Firma sind zuviele Leerzeichen so häufig ein
Problem, das ich in den Frontends entweder nur noch Auswahllisten anbiete
oder, wenn sich die freie Eingabe, wie bei Namen, nicht vermeinden lässt,
filtere ich die überzähligen LZ aus.

Ciao, Rene
-- 

---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql 


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive