Je voudrais faire correspondre ce 'wildcard %'
avec MySQL.
J'ai essayé d'utiliser l'échappement \%
et cela ne fonctionne pas.Faire correspondre le signe '%' lors de la recherche dans la base de données MySQL
Répondre
Le caractère d'échappement par défaut est \
. Il suffit donc de préfixe %
avec un \
comme: \%
:
Le manual dit clairement:
Pour tester la littérale d'un wild-card , faites précéder par le caractère d'échappement . Si vous ne spécifiez pas le caractère ECHAP , "\" est supposé.
Rechercher %
dans Stack%Overflow
:
mysql> select 'Stack%Overflow' like '%\%%';
+------------------------------+
| 'Stack%Overflow' like '%\%%' |
+------------------------------+
| 1 | <----- Found
+------------------------------+
1 row in set (0.00 sec)
Rechercher %
dans StackOverflow
:
mysql> select 'StackOverflow' like '%\%%';
+-----------------------------+
| 'StackOverflow' like '%\%%' |
+-----------------------------+
| 0 | <----- Not Found
+-----------------------------+
1 row in set (0.00 sec)
EDIT:
Si vous appelez cette requête de PHP, vous aurai t o utiliser \\
. En effet, même PHP utilise \
comme caractère d'échappement. Donc, faites en sorte que MySQL ait un \
vous devez avoir \\
en PHP.
Voici un exemple:
$sql = 'SELECT * FROM tableName WHERE fieldName LIKE "wildcard\%"';
ok je dois utiliser doble (\\)
pour correspondre à la base de données% dans la
Vous devez échapper à la \ dans la chaîne de PHP ainsi, sinon PHP penserait que vous échappez en fait le%, envoyant ainsi% littéral à la requête SQL, donc je pense que cela devrait fonctionner:
mysql_query("select * from bla where bli like '\\%somewords\\%'");
Si vous utilisiez des chaînes entre guillemets doubles ('' ''), vous n'auriez à double-échapper que si votre version recherche des antislashs littéraux avec des caractères génériques –
ups sorry, edited –
En dernière version, vous pouvez aussi essayer
select * from tbl1 where TxtExpr REGEXP '^%';
ce qui a trait
- 1. Recherche MySQL dans la base de données (recherche de table)
- 2. Recherche de caractères spéciaux dans la base de données MySQL
- 3. Insérez dans la base de données MySQL
- 4. Recherche dans une base de données mySQL
- 5. Rapide (er) façon de faire correspondre la fonctionnalité à la base de données
- 6. Rechercher dans la base de données MySQL
- 7. Recherche de données manquantes dans la base de données
- 8. Utilisez le signe% dans la requête de recherche?
- 9. PHP: Recherche dans la base de données
- 10. Recherche de base de données MySQL
- 11. Base de données Wordpress dans la base de données MySQL?
- 12. Comment faire correspondre les caractères indésirables dans la base de données MySQL avec des lettres arabes avec PHP et MYSQL
- 13. Base de données Recherche PHP Mysql
- 14. Ensemble vide lors de la sélection de données dans la base de données relationnelle MySQL
- 15. Comment faire pour restaurer la base de données mysql
- 16. Comment faire une recherche efficace de données dans la base de données à l'exception de fullsearch
- 17. Comment faire pour vider la base de données mysql?
- 18. Mysql - modifier la structure de la base de données - scénario de la base de données
- 19. Configuration de la base de données MySQL
- 20. Recherche de noms de fichiers dans la base de données MySQL restreinte par type de fichier?
- 21. valeur de recherche cakephp sinon dans la base de données
- 22. Comment faire une case à cocher sélectionnée lors de la recherche à partir de la base de données
- 23. Rails: Une méthode efficace pour faire correspondre les sous-domaines dans la base de données?
- 24. Normalisation de la base de données mysql
- 25. Normalisation automatisée de la base de données mySQL - comment le faire?
- 26. Le champ de recherche rapide recherche-t-il la base de données dans Android? Comment?
- 27. Aide à la recherche dans la base de données MYSQL avec un JOIN - possible self JOIN?
- 28. Mail vers la base de données MySQL
- 29. Comment rechercher "many LIKE" dans la base de données (mysql)?
- 30. Comment (efficacement) utiliser jQuery pour faire correspondre la valeur d'une entrée avec une base de données?
pourquoi ça marche pas avant? –