sql >> Database >  >> RDS >> Mysql

Overeenkomen met het '%'-teken bij het zoeken in de MySQL-database

Het standaard escape-teken is \ . Dus gewoon voorvoegsel % met een \ als:\% :

De handleiding zegt duidelijk:

Zoek naar % in Stack%Overflow :

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

Zoek naar % in StackOverflow :

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

BEWERKEN:

Als u deze query vanuit PHP aanroept, moet u \\ . gebruiken . Dit komt omdat zelfs PHP \ . gebruikt als het ontsnappingspersonage. Dus zorg ervoor dat MySQL een \ . krijgt je moet \\ . hebben in PHP.



  1. Ik heb de lijst nodig met gebruikers die eerder een bericht hebben ontvangen (MySQL)

  2. MySQL DATEDIFF() vs TIMESTAMPDIFF():wat is het verschil?

  3. PostgreSQL - GROUP BY-clausule of worden gebruikt in een aggregatiefunctie

  4. Hoe krijg ik een geheel getal van MySQL als geheel getal in PHP?