Kermit: Case insensitve Suche

Hallo,
habe schon wieder eine Frage zur Datenbank (Mysql 4.0) 8-}
Suche nach Begriffen "like '%begriff%'".
Die Suche wird über Varchar und Blob Felder durchgeführt.
Gibt es eine Möglichkeit die Suche so zu gestalten, daß sie nicht case sensitive ausgeführt wird?
Soweit ich weiß werden Blob Felder immer sensitiv durchsucht....

Oder gibt es da eine schicke und schnelle Lösung via Php?
Das Problem dabei ist, daß nicht nur der erste Buchstabe eines Wortes auf klein bzw. groß "gestellt" werden müßte sondern ggfls. alle Buchstaben....
Also egal ob ich Haus, haus, HAUS eingebe er soll mir Haus finden (und ggfl. auch HAUS oder haus falls diese in den Feldern vorkommen).

Grüße,
Kermit

  1. Hi,

    Soweit ich weiß werden Blob Felder immer sensitiv durchsucht....

    Richtig. Wobei IMO Blob eher für binäre Inhalte gedacht ist, als für Text.

    Oder gibt es da eine schicke und schnelle Lösung via Php?

    Klar. Alle Datensätze auslesen und strpos() verwenden. Ob das schick ist, weiss ich nicht, schnell wage ich zu bezweifeln, aber es ist PHP :D

    Also egal ob ich Haus, haus, HAUS eingebe er soll mir Haus finden (und ggfl. auch HAUS oder haus falls diese in den Feldern vorkommen).

    Mach aus deinem BLOB ein TEXT oder LONGTEXT, dann sollte dein problem behoben sein.

    1. Hi Manuel,
      danke für den Tip mit Text.
      Autsch, war mir sicher, daß auch TEXT sensitiv durchsucht wird - dachte ich mal gelesen zu haben. Aber wie mir ein Blick in mein Handbuch gerade zeigte hast Du Recht.... Auf diese einfache Lösung wäre ich nicht gekommen,da ich wie gesagt überzeugt davon war, daß sich Blob und Text in der Suche nicht unterscheiden. *aufdenkopfhau*

      Grüße,
      Kermit

  2. habe schon wieder eine Frage zur Datenbank (Mysql 4.0) 8-}

    in mysql gibt es doch sicher eine string-toupper-funktion
    ich weiß zwar nicht genau, wie diese heißt (möglicherweise uppercase()) oder so.
    jedenfalls lautet dann deine abfragen:

    where uppercase(feldname) like '%BEGRIFFNURGROSSBUCHSTABEN%'

    dann findest dein gewünschtes ergebnis

    lg Gerhard