2017-02-27 4 views
-1

Ich weiß, dass wir das LIKE-Prädikat in einer SQL-Abfrage verwenden können, um Zeilen mit alphanumerischen Zeichen und Sonderzeichen zu finden (WHERE desc LIKE '% #%'). Aber wie finde ich Zeilen mit dem "%" - Symbol? (WHERE desc LIKE '%%%' gibt alle Zeilen zurück).SQL-Abfrage zum Suchen von Zeilen mit "%"

+3

Was [tag: rdbms] verwenden Sie? – Mureinik

+1

Haben Sie das recherchiert? Scheint wie eine ziemlich einfache Antwort mit einer schnellen Google-Suche zu finden. –

Antwort

3

Es hängt von Ihrer DB-Maschine ab.
\% ist das Escape-Zeichen für % in MySQL und Oracle.

WHERE desc LIKE '%\%%' 
+0

juergen d, danke für die schnelle Antwort, aber das hat nicht für mich funktioniert (ich benutze SQL Server 2012). Dies funktionierte jedoch: WHERE desc LIKE '% [%]%' (siehe [link] http://www.techtamasha.com/escape-single-quotes-and-wild-cards-_-in-ms-sql/ 20) – Vik

1

Escape-Zeichen sind schwierig, in SQL Server zu folgen. es muss nur ein wörtliches

WHERE desc LIKE '%[%]%' 

Gemäß dem Abschnitt "Using Wildcard Characters As Literals"

Um ein Platzhalter-Zeichen als Literal-Zeichen zu verwenden, die Platzhalter-Zeichen in Klammern einschließen.

0

In ANSI SQL können Sie Escape-Zeichen unter Verwendung einer escape-Klausel angeben, z.

where desc like '%\%%' escape '\' 
Verwandte Themen