Frage: LIKE - Operator

script1

Benutzer
Beiträge
7
Hallo,
ich hab mal eine Frage und zwar benutze ich in einer Abfrage den LIKE - Operator. Die Abfrage ist folgende:

WHERE feld1 LIKE '%'+feld2+'%'

Werte:
feld1= "Die ist ein Test"
feld2="ist ein"

Die Abfrage funktioniert aber nur wenn ich in das feld2 "ist ein Test" schreibe. Allerdings würde ich dies gerne umgehen, sodass die Abfrage auch funktioniert wenn ich nur den mittleren Teil habe. Hat hier zu noch jemand eine Idee?

Gruß
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.702
Ich nutze nie * als Platzhalter sondern immer %, damit funktioniert das eigentlich.
Code:
WHERE feld1 LIKE '%' + feld2 + '%'
 

script1

Benutzer
Beiträge
7
Mh leider ignoriert er den hinteren Teil immer noch nicht :(
Ich benutze übrigens einen MS SQL Server 2008 R2 aber das sollte ja eigentlich nicht damit zu tun haben ;)
 

ukulele

Datenbank-Guru
Beiträge
4.702
Merkwürdig, teste es mal mit
Code:
WHERE feld1 LIKE '%' + 'fester text' + '%'
Ansonsten kannst du vieleicht ausweichen:
Code:
WHERE feld1 LIKE '%' + 'feld2' + '%'
OR feld1 LIKE 'feld2' + '%'
OR feld1 LIKE '%' + 'feld2'
Aber richtig kann das eigentlich nicht sein. Sind beide Felder VARCHAR Werte oder ist CHAR oder TEXT oder NVARCHAR dabei?
 
Werbung:
Oben