2010-05-23 8 views
2

J'ai une base de données SQL et je voudrais faire une requête qui montre toutes les données contenant le signe "%". Normalement, pour trouver un caractère (par exemple: « z ») dans une base de données que j'utilise une requête comme ceci:Trouver le caractère% dans une requête LIKE

mysql_query("SELECT * FROM mytable WHERE tag LIKE '%z%'"); 

Mais ici, je veux fonder le caractère%, mais dans SQL il est un farceur alors quand J'écrire:

mysql_query("SELECT * FROM mytable WHERE tag LIKE '%%%'"); 

Voir toutes les données. Alors, comment trouver le caractère% dans mes données SQL?

Merci

Répondre

12

Vous pouvez échapper le signe % avec une barre oblique inverse:

SELECT * FROM mytable WHERE tag LIKE '%\%%' 

Je cite MySQL 5.0 Reference Manual :: 8.1.1 String s:

Les séquences \% et \_ sont utilisées pour trouver les occurrences de % et _ dans des contextes d'appariement où ils seraient sinon je interprétée comme des caractères génériques.

+0

Je t'aime homme !!!!! :) J'ai cherché pendant plusieurs heures, grand merci! – Jensen

1

Voici un moyen standard:

SELECT * FROM mytable WHERE tag like '%|%%' ESCAPE '|' 
Questions connexes