Alex: (mySQL) ganze Wörter und Groß/Kleinschreibung

Hallo!

Also... hm, ich mach am besten gleich ein Beispiel:

Wenn ich in einer Spalte mit "SELECT * FROM Tabelle WHERE Spalte LIKE '%und%'" nach dem Wort "und" suche, liefert das Wort "Hund" ja auch einen treffer. Wie kann ich das vermeiden? Ist es möglich, dass ganze Wörter auch vor einem Satzzeichen oder Zeilenende gefunden werden?
Und wie kann ich auch die Groß- und Kleinschreibung berücksichtigen? Wenn ich nach "Haus" suche soll also "haus" nicht gefunden werden.

Schon mal danke & Grüße: Alex

  1. Wenn ich in einer Spalte mit "SELECT * FROM Tabelle WHERE Spalte LIKE '%und%'" nach dem Wort "und" suche, liefert das Wort "Hund" ja auch einen treffer. Wie kann ich das vermeiden? Ist es möglich, dass ganze Wörter auch vor einem Satzzeichen oder Zeilenende gefunden werden?
    Und wie kann ich auch die Groß- und Kleinschreibung berücksichtigen? Wenn ich nach "Haus" suche soll also "haus" nicht gefunden werden.

    Wirf mal einen Blick in die MySQL-Anleitung, es gibt dort ein REGEXP, daß ähnlich wie LIKE funktioniert, aber mit regulären Ausdrücken. Adresse habe ich jetzt gerade nicht parat, irgendwo unter "Functions for use with select", hangel Dich von http://mysql.com aus weiter.

    Gruß,
      soenk.e

  2. Hi!

    Wenn ich in einer Spalte mit "SELECT * FROM Tabelle WHERE Spalte LIKE '%und%'" nach dem Wort "und" suche, liefert das Wort "Hund" ja auch einen treffer. Wie kann ich das vermeiden? Ist es möglich, dass ganze Wörter auch vor einem Satzzeichen oder Zeilenende gefunden werden?
    Und wie kann ich auch die Groß- und Kleinschreibung berücksichtigen? Wenn ich nach "Haus" suche soll also "haus" nicht gefunden werden.

    Soweit ich weiß wird Groß- und Kleinschreibung normal bei LIKE nicht unterschieden. Wenn es komplizierter wird brauchst Du reguläre Ausdrücke. Hier findest Du ein paar Sachen dazu:

    http://www.mysql.com/doc/S/t/String_comparison_functions.html

    Aber ich würde dir zur in Mysql implementierten Volltextsuche raten, da geht das recht einfach: http://www.mysql.com/doc/F/u/Fulltext_Search.html

    Grüße
    Andreas

    Schon mal danke & Grüße: Alex