Nausi Geschrieben 16. Oktober 2002 Teilen Geschrieben 16. Oktober 2002 Hallo alle zusammen, ich möchte in meiner Tabelle gerne hergehen und nach einem Namen suchen. Also so: select name, vorname from Tabelle where name = 'Nausi' wenn ich mit like arbeite dann bekomme ich auch den Datensatz zurück wenn 'nausi' eingegeben wurde. Gibt es denn auch ne Möglichkeit das wenn nur 'naus' eingegeben wurde den Datensatz 'Nausi' zurückzubekommen. Oder wie ist das mit Maier, ich möchte gerne das wenn nach Maier gesucht wird auch Mayer, Meier usw ausgegeben wird, gibts da ne besondere Möglichkeit? Dank euch eure Nausi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Saga Geschrieben 16. Oktober 2002 Teilen Geschrieben 16. Oktober 2002 Original geschrieben von Nausi wenn ich mit like arbeite dann bekomme ich auch den Datensatz zurück wenn 'nausi' eingegeben wurde. Gibt es denn auch ne Möglichkeit das wenn nur 'naus' eingegeben wurde den Datensatz 'Nausi' zurückzubekommen. Du könntest es mit "in" versuchen. Also where name in('naus', 'nausi',...) Dann bringt er Dir aber alle Datensätze, in denen "naus" oder "nausi" steht. Ich weiss nicht, ob ich Deine Frage so richtig verstanden habe... Ach so: Bei Mayer,Meier,Maier kannst Du doch einfach like 'M%er' sagen, dann bringt er eh alle. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
loeti Geschrieben 17. Oktober 2002 Teilen Geschrieben 17. Oktober 2002 Original geschrieben von Nausi Gibt es denn auch ne Möglichkeit das wenn nur 'naus' eingegeben wurde den Datensatz 'Nausi' zurückzubekommen. Hmmm... Wie hast du denn mit "like" gearbeitet, wenn er auch den Satz "nausi" gefunden hat? Welche DB verwendest du denn? Bei Oracle würde der Satz so nicht gefunden werden, da müsste man explizit in lowercase umwandeln, nämlich so:select vorname, name from tabelle where lower(name) like '%naus%'; So findest du alle Sätze unabhängig von Groß-/Kleinschreibung, die irgendwo im Namen den Text "naus" enthalten, also auch z.B. "Knauser". Oder wie ist das mit Maier, ich möchte gerne das wenn nach Maier gesucht wird auch Mayer, Meier usw ausgegeben wird, gibts da ne besondere Möglichkeit? Hierbei handelt es sich um eine sog. phonetische Suche. Oracle unterstützt so etwas auch. Allerdings muss dafür meines Wissens nach die Intermedia Text Cartridge installiert und die Spalte auch indiziert sein. Ein entsprechender Aufruf sieht folgendermaßen aus:select vorname, name from tabelle where contains(name, '?meyer') > 0; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Olli_Master Geschrieben 18. Oktober 2002 Teilen Geschrieben 18. Oktober 2002 Einige Datenbanken unterstützen die Funktion SOUNDEX. Der Syntax ist z.B. bei Oracle folgendermaßen: select name from tPersonen where soundex(Name)=soundex('Meyer'); NAME ------- Meyer Mayer Maier Purpose SOUNDEX returns a character string containing the phonetic representation of char. This function lets you compare words that are spelled differently, but sound alike in English. Da brauch man kein Intermedia Text. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.