sql >> Database teknologi >  >> RDS >> Mysql

Match '%'-tegn ved søgning i MySQL-database

Standard escape-tegnet er \ . Så bare præfikset % med en \ som:\% :

manualen siger tydeligt:

Søg efter % i Stack%Overflow :

mysql> select 'Stack%Overflow' like '%\%%';
+------------------------------+
| 'Stack%Overflow' like '%\%%' |
+------------------------------+
|                            1 |  <----- Found
+------------------------------+
1 row in set (0.00 sec)

Søg efter % i StackOverflow :

mysql> select 'StackOverflow' like '%\%%';
+-----------------------------+
| 'StackOverflow' like '%\%%' |
+-----------------------------+
|                           0 |   <----- Not Found
+-----------------------------+
1 row in set (0.00 sec)

EDIT:

Hvis du kalder denne forespørgsel fra PHP, skal du bruge \\ . Dette skyldes, at selv PHP bruger \ som flugtkarakter. Så få MySQL til at få en \ du skal have \\ i PHP.



  1. MySql vælger dynamiske rækkeværdier som kolonnenavne

  2. SQL-Server og MySQL interoperabilitet?

  3. Henter navnet på den aktuelle funktion inde i funktionen med plpgsql

  4. Fejl ved push af data til Heroku:tidszoneforskydning uden for rækkevidde