Oracle Wildcard-Suche über zwei Felder

AssELAss

Aktives Mitglied
Hallo suche eine Möglichkeit eine Wildcard-Suche über zwei zusammengelegte Felder zu starten.
Bis jetzt kann ich wenn ich nach "Hans, Günter" suche diesen finden.
Suche ich jedoch nach "Hans,Günter" bekomme ich kein Suchergebnis.

hier mal mein sql statement

SQL:
select * from TBL_ERMITT WHERE NLS_LOWER(NAME1)|| NLS_LOWER(NAME2) LIKE TRIM (NLS_LOWER ('%, Sa%'))
 
-> Dies ist ein Java-Forum...:rtfm:

Zu deiner Frage:
Da gabs doch auch irgendein Zeichen (wars "_"?) mit dem du einfach sagst, dass an der Stelle entweder ein beliebiger Buchstabe oder kein Buchstabe stehen darf
=>
Code:
like ("%,_Sa%")

Dein sql suchanfrage passt auch nicht zu deinem Beispiel 😉

Gruß eMmiE
 
Ja das funktioniert auch nicht recht,

um es weiter zu konkretisieren

wenn ich nach" hans günter "suche soll er auch gefunden werden.

in der db steht er als "Hans, Günter"
 
Dann solltest du dringend mal ein Kapitel über Datenbank-Normierung lesen.

Dein Problem ist, dass man niemals Nachname und Vorname in ein Tabellenfeld speichern darf.

Gruss

Claus
 
Na ja, niemals finde ich ein starkes Argument😉

Aber, es stimmt schon, was Thallius sagt. Denn du siehst ja, das es damit Probleme gibt.

Deine where-Klause sollte so aussehen:

SQL:
like 'Hans%Günter'
 
Dann solltest du dringend mal ein Kapitel über Datenbank-Normierung lesen.

Dein Problem ist, dass man niemals Nachname und Vorname in ein Tabellenfeld speichern darf.

Gruss

Claus

Leider liegt mir die DB in dieser Form vor. 🙁 Mir ist schon bewusst das damit die 1.Normalform nicht gegeben ist.

Aber mit % in der Mitte kann ich leben, vielen Dank 🙂
 
Zuletzt bearbeitet:

Zurück
Oben