MySQL Abfrage "Enthält"

Dieses Thema im Forum "Datenbanksysteme für das Web" wurde erstellt von sir.hacks.alot, 25.02.2007.

  1. sir.hacks.alot

    sir.hacks.alot Thread Starter MacUser Mitglied

    Beiträge:
    2.408
    Zustimmungen:
    113
    Mitglied seit:
    10.03.2005
    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
     
  2. MacMännchen

    MacMännchen MacUser Mitglied

    Beiträge:
    2.877
    Zustimmungen:
    213
    Mitglied seit:
    03.10.2006
    meinst du so was wie

    Code:
    select * from table where feld like "%xy";
     
  3. sir.hacks.alot

    sir.hacks.alot Thread Starter MacUser Mitglied

    Beiträge:
    2.408
    Zustimmungen:
    113
    Mitglied seit:
    10.03.2005
    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.
     
  4. wegus

    wegus MacUser Mitglied

    Beiträge:
    14.827
    Zustimmungen:
    1.425
    Mitglied seit:
    13.09.2004
    % 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.
     
  5. asdas

    asdas MacUser Mitglied

    Beiträge:
    1
    Zustimmungen:
    0
    Mitglied seit:
    18.11.2011
    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.
     
  6. wegus

    wegus MacUser Mitglied

    Beiträge:
    14.827
    Zustimmungen:
    1.425
    Mitglied seit:
    13.09.2004
Die Seite wird geladen...

Diese Seite empfehlen