SQL LIKE Statement mit Parameter funktioniert nich

Guten Tag liebe Gemeinde,

ich arbeite mit Visual Web Developper 2008 und MS SQL Server 2008.

SELECT ID, Name, Vorname, Ort, Strasse, Hausnummer
FROM dbo.Kunden
WHERE Name LIKE @Name + ‚%‘

Warum funktioniert diese Abfrage partout nicht?
Zum Beispiel Maier ist in der Tabelle Kunden. So soll er mir den Datensatz schon nach Eingabe von „Mai“ finden, was ja eigentlich durch den % Operator funktionieren sollte. Geht allerdings nicht. Wenn ich es hardcode und schreibe WHERE NAME LIKE ‚mai%‘ funktioniert es…

Hat jemand eine Idee?

Vielen Dank im voraus.

Guten Tag liebe Gemeinde,

guten Tag Pfarrer(in?)

FROM dbo.Kunden
WHERE Name LIKE @Name + ‚%‘

Warum funktioniert diese Abfrage partout nicht?

  1. das Wort NAME ist ein reservierter Begriff und sollte als Bezeichnung nicht verwendet werden!

  2. was hast du im Namen? wichtig einen Text = String

wie in deinem Test muss ein String in Hochkomma oder Apostroph eingeschlossen werden.

Zum Beispiel Maier ist in der Tabelle Kunden. So soll er mir
den Datensatz schon nach Eingabe von „Mai“ finden, was ja
eigentlich durch den % Operator funktionieren sollte. Geht
allerdings nicht. Wenn ich es hardcode und schreibe WHERE NAME
LIKE ‚mai%‘ funktioniert es…

Hat jemand eine Idee?

ja (damit wäre dein Frage beantwortet :smile:

„WHERE Name LIKE '“ & Name & „%’“

Ein paar Regeln:
Verwende zum Verbinden von Strings immer das kaufmännische UND-Zeichen = &
Verwende das mathematische UND = + nur für mathematische Formeln!

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Guten Tag,

Habs jetzt mit dem & als Konkatenations-Operator versucht. Daraufhin kam die Fehlermeldung: varchar und nchar lassen sich mit & nicht verbinden.
Also schnell in meine Tabellendeklaration geschaut. Habe den Datentyp in der Spalte Name in varchar geändert. Nun funktionierts wie gewollt mit:

WHERE Name LIKE ‚%‘ + @Name + ‚%‘

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]