Mon entreprise exécute MySQL en mode NO_BACKSLASH_ESCAPES. Comment puis-je échapper à un littéral %
ou _
dans une requête LIKE dans ce mode? La méthode standard est \%
, mais cela ne fonctionne pas dans ce mode.
Exemple: une colonne a les valeurs suivantes: 5% off
, 50% off
. La requête suivante fonctionne en mode standard mais pas en mode NO_BACKSLASH_ESCAPES:
SELECT * FROM mytable
WHERE mycol LIKE '5\% off'
tu as besoin de t'échapper
select * from mytable
where mycol like '5\% off' escape '\';
Pour une version qui fonctionne indépendamment du mode NO_BACKSLASH_ESCAPES, vous pouvez utiliser un caractère différent, comme pipe:
select * from mytable
where mycol like '5|% off' escape '|';