Mazze: Abfrage mit Platzhaltern

Hi zusammen,

kennt jemand von Euch in mysql eine Möglichkeit in der Datenbank gespeicherte Patterns mit Platzhaltern oder sogar echten Regulären Ausdrücken mit einem Suchstring zu vergleichen?

Beispiel:

id|pattern|...
--------------
01|hallo *|...
02|* foo  |...
usw.

Der String "Hallo Welt" sollte id 01 finden, der String "bar foo" id 02.

Danke für die Hilfe,

Mazze

  1. Hmh,

    käme auf einen Versuch an, aber du könntest den LIKE-Operator mal anders herum benutzen, also anstelle von
       pattern LIKE 'abc%'
    machst du dann
       abc LIKE pattern

    Du müsstest dann allerdings statt des * ein % verwenden.
    Wie es mit regulären Ausdrücken aussieht, weiß ich leider nicht.

    MfG
    Rouven

    --
    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
    1. Ist zwar nicht sonderlich elegant, aber:

      suchstring in in einzelne wörter aufteilen (bei PHP explode()), dann mit OR suchen:

      ...WHERE (spalte LIKE '%suchbegriff1%'... OR spalte LIKE '%suchbegriffx%')...

    2. Ja!

      käme auf einen Versuch an, aber du könntest den LIKE-Operator mal anders herum benutzen, also anstelle von
         pattern LIKE 'abc%'
      machst du dann
         abc LIKE pattern

      Du müsstest dann allerdings statt des * ein % verwenden.
      Wie es mit regulären Ausdrücken aussieht, weiß ich leider nicht.

      Ein erster Test war erfolgreich.
      Einfache Idee - auf die komm ich meist nie selbst ;-)

      Danke schonmal! Regexp werd ich dann auch noch checken.

  2. du kannst INSTR() in der WHERE klause benutzen.