Linksetzer: escapen von Sonderzeichen bei mySql-Suche

Beitrag lesen

hallo Forum,
Ich habe ein Problem mit der Such nach ''

ich habe folgende Abfrage:

SELECT *
FROM meine_tabelle
WHERE meine_spalte LIKE '%\%'

da bekomme ich weder eine Fehlermeldung, noch ein Ergebnis: ich meine, ich habe den Rückstrich doch escaped.
Wenn ich einmal mehr escape, werden alle Datensätze mit '' gefunden:

SELECT *
FROM meine_tabelle
WHERE meine_spalte LIKE '%\%'

meiner Meinung nach ist jetzt das letzte Prozentzeichen eigentlich auch schon escaped.
Auch bei dieser Variante bekomme ich alle Datensätze mit '':

SELECT *
FROM meine_tabelle
WHERE meine_spalte LIKE '%\%'
ESCAPE ''

und bei dieser auch:
SELECT *
FROM meine_tabelle
WHERE meine_spalte LIKE '%%%'
ESCAPE ''

Bei folgender Abfrage bekomme ich Datensätze mit diesen Werten in 'meine_spalte':

  1. ' * ~ \ \ "    <- beachte: Leerzeichen zwischen \ und \

  2. \ä\o\

SELECT *
FROM meine_tabelle
WHERE meine_spalte LIKE '%\%'
ESCAPE ''

mit diser Where-Klausel
WHERE meine_spalte LIKE '%\\%'
das gleiche Ergebnis

mit
WHERE meine_spalte LIKE '%\\%'
aber nur: \ä\o\

wenn ich
ESCAPE ''
hinten anhänge, bekomme ich eine Fehlermeldung

also ich für meinen Teil verstehe nur Bahnhof, versteht jemand mehr davon?

http://www.mysql.de/doc/de/String_comparison_functions.html