sql >> Databáze >  >> RDS >> Mysql

Jak hledat lomítko (\) v MySQL? a proč se escapování (\) nevyžaduje pro kde (=), ale pro Like?

\ funguje jako znak escape v LIKE ve výchozím nastavení.

Z příručky pro LIKE :

Protože MySQL používá C escape syntaxi v řetězcích (například „\n“ k reprezentaci znaku nového řádku), musíte zdvojnásobit jakékoli „\“, které používáte v řetězcích LIKE. Chcete-li například vyhledat „\n“, zadejte jej jako „\\n“. Chcete-li vyhledat „\“, zadejte jej jako „\\\\“; je to proto, že zpětná lomítka jsou jednou analyzátorem odstraněna a znovu po vytvoření shody vzoru , přičemž ponecháte jedno zpětné lomítko, se kterým se bude porovnávat.

Můžete to změnit zadáním jiného znaku escape, jako v:

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


  1. Osvědčený postup pro vytváření indexů v tabulkách MySQL – Rolling Index Builds

  2. SQLite JSON_PATCH()

  3. 5 skvělých důvodů, proč si stáhnout a používat šablony Microsoft Access

  4. Kontingenční tabulky v MySQL