MySQL Abfrage "Enthält"

sir.hacks.alot

sir.hacks.alot

Aktives Mitglied
Thread Starter
Dabei seit
10.03.2005
Beiträge
2.408
Reaktionspunkte
115
Der Titel sagt es eigentlich schon ich benötige eine Abfrage die das Vorkommen einer Zeichenfolge in einem Stringfeld sucht und alle Zeilen zurückgibt bei denen das zutrifft. Gibt es da eine Abfrage bei SQL so ala "select * from tabelle where Feld enthält string" oder muss ich die komplette Tabelle mit PHP-Stringfunktionen untersuchen?

vielen Dank im voraus
 
meinst du so was wie

Code:
select * from table where feld like "%xy";
 
ich komme leider erst morgen wieder dazu das auszuprobieren.

wenn diese Abfragen folgende felder findet:

xyblabla
blaxybla
blablaxy

ist es genau das was ich meine

edit:
okay habe gerade mal kurz nach like gegoogelt %xy% sollte wohl genau das tun was ich will, besten Dank.
 
% ist das SQL-Wildcard! Wenn also Zeichenketten gefunden werden sollen, die xy enthalten, so muß es

select * from table where feld like "%xy%"; heißen!

Die obige Variante liefert sonst nur Ergebnisse die auf xy enden, in Deinem Fall also nur die 3te Zeile. Meine Variante erfasst alle 3 Zeilen.

Achtung: funktioniert nur für char/varchar! Bei Langtextfeldern oder BLOBS ist die Funktion nicht pauschal gewährleistet. Manche DBMS unterstützen sow as, andere nicht.
 
was ist wenn

sorry das ich diesen alten thread ausgrabe aber mir stellt sich gerade das Problem in umgekehrter Reihenfolge.

Ich habe eine Usereingabe die beispielsweise bei "xyA" liegt und in der Datenbank liegt xy vor.
Mein Query findet somit leider nichts. Wie kann ich das ganze umstellen damit dies nicht passiert.
 
Zurück
Oben Unten