sql >> Database >  >> RDS >> Mysql

Hoe zoek ik naar schuine streep (\) in MySQL? en waarom is escapen (\) niet vereist voor waar (=) maar voor Like is vereist?

\ functioneert als een escape-teken in LIKE standaard.

Uit de handleiding voor LIKE :

Omdat MySQL de C-escape-syntaxis in tekenreeksen gebruikt (bijvoorbeeld "\n" om een ​​teken voor een nieuwe regel weer te geven), moet u elke "\" die u in LIKE-tekenreeksen gebruikt, verdubbelen. Als u bijvoorbeeld naar "\n" wilt zoeken, geeft u dit op als "\\n". Om te zoeken naar "\", specificeert u het als "\\\\"; dit komt omdat de backslashes eenmaal worden verwijderd door de parser en opnieuw wanneer het patroon overeenkomt , waardoor er een enkele backslash overblijft om tegen te vergelijken.

U kunt dit wijzigen door een ander escape-teken op te geven, zoals in:

SELECT * FROM `titles` WHERE title LIKE 'test\\' ESCAPE '|'


  1. android SQLite database met database op specifieke locatie mogelijk?

  2. Gegevens opslaan in het Arabisch in de MySQL-database

  3. SCD-type 6

  4. Geen gegevens meer om uit socket te lezen