Diese Frage hat auch die Antwort , erwähnt jedoch speziell DB2.
Wie suche ich nach einer Zeichenfolge , LIKE
die bereits ein Prozentzeichen enthält %
? Der LIKE
Bediener verwendet %
Symbole, um Platzhalter zu kennzeichnen.
Diese Frage hat auch die Antwort , erwähnt jedoch speziell DB2.
Wie suche ich nach einer Zeichenfolge , LIKE
die bereits ein Prozentzeichen enthält %
? Der LIKE
Bediener verwendet %
Symbole, um Platzhalter zu kennzeichnen.
Antworten:
Verwenden Sie Klammern. Also nach 75% suchen
WHERE MyCol LIKE '%75[%]%'
Dies ist einfacher als ESCAPE und den meisten RDBMS gemeinsam.
[_]
. Wie entkommen Sie dann der offenen eckigen Klammer? So : [[]
. sqlserver2000.databases.aspfaq.com/…
Sie können das ESCAPE
Schlüsselwort mit verwenden LIKE
. Stellen Sie einfach das gewünschte Zeichen (z. B. '!') Vor jedes der vorhandenen %
Zeichen in der Zeichenfolge und fügen ESCAPE '!'
Sie dann (oder das Zeichen Ihrer Wahl) am Ende der Abfrage hinzu.
Beispielsweise:
SELECT *
FROM prices
WHERE discount LIKE '%80!% off%'
ESCAPE '!'
Dadurch behandelt die Datenbank 80% als tatsächlichen Teil der zu suchenden Zeichenfolge und nicht 80 (Platzhalter).
WHERE column_name LIKE '%save 50[%] off!%'
In MySQL ,
WHERE column_name LIKE '%|%%' ESCAPE '|'