Ich habe eine gespeicherte Prozedur, die ich übergeben in einer allgemeinen String-Variablen namens @SearchText als Varchar. Diese Variable enthält Namen, entweder einen Teil eines Namens oder einen vollständigen Namen. Ich muss eine Auswahl für eine Tabelle basierend auf dieser Variablen mit Platzhaltern vornehmen. Die Eingangsvariable könnte etwas wie (für den Namen 'John Smith') sein:Durchführung von SQL-Auswahl gegen einen vollständigen Namen mit Platzhaltern
'j', 'joh', 'john', 'sm', 'smith', 'john s', john smith '. .. Sie bekommen den Punkt.
Also, das stumpfe Ansatz, den ich nahm, ist
select x from TableA
where FirstName like '%' + @SearchText + '%'
OR LastName like '%' + @SearchText + '%'
Natürlich, wenn ein Raum es vermasselt Satz das Ergebnis angetroffen wird. Kann mir bitte jemand helfen, zu verstehen, wie man das ändert, damit es auf jede "Menge" des vollen Namens passt?
Wenn dies bereits beantwortet wurde, konnte ich es nicht finden ... ein Hotlink zu einer bestehenden Lösung wäre hier ebenso willkommen.
Ich stimme dem Vorschlag für den Volltext-Index zu ... für den Moment bringt mich das über die Blockade hinweg. Wählen Sie dies als die Antwort, nur weil es etwas robuster als die anderen ist. – optionsix