On Fre, 23 Mai 2003 at 01:26 (+0200), David Haller wrote: [...]
... eben das. Wie du im folgenden selbst demonstrierst hattest, ist die wildcard entweder redundant, ergo sinnfrei, oder falsch und ebenfalls sinnfrei!
Redundant ist die Wildcard, wenn es nur einen Eintrag gibt (geben darf), auf den ein 'LIKE /usr/bin/sed%' passt, falsch, wenn es mehrere Eintraege gibt. Sinnfrei ist's in beiden Faellen *eg*
Ich kann Dir nicht mehr folgen :-( Wenn es nur einen "/usr/bin/sed" geben darf, dann darfst Du eben nicht mit Wildcard suchen, sonst kriegst Du alle zum Suchmuster passenden. Dann kriegst Du aber mit = das selbe Ergebnis. Es geht doch bei der Wildcard % genau darum, dass der SELECT eben nicht nur _einen_ Eintrag findet, sondern mehrere (wie in meinem Beispiel zu finden war). In diesem Fall läuft es wie in der Shell auch. Wenn Du einen Eintrag suchst, der _genau_ auf Deine Zeichenfolge passt, dann lässt Du die Wildcard weg (wie auch in der Shell). Der einzige Unterschied ist, dass die Wildcard nur im Zusammenhang mit LIKE funktioniert (quasi entwertet = die Wildcard). Wo soll da denn Redundanz oder Fehler drin sein? - Suchen mit = --> genau passenden Eintrag finden (was ohne weiteres mehrere Ergebnissätze zur Folge haben kann, wenn die Spalte nicht eindeutige Inhalte hat); % steht für sich. - Suchen mit LIKE ohne Wildcard --> siehe oben, nur % darf nicht auftauchen, da Wildcard - Suchen mit LIKE und Wildcard --> alle zum Suchmuster passenden Sätze finden (wobei % für eine beliebige Anzahl beliebiger Zeichen steht - analog zu * beim Shell-Globbing oder .* in regex). Jan