Maison >base de données >tutoriel mysql >Comment échapper aux signes de pourcentage littéral dans le mode NO_BACKSLASH_ESCAPES de MySQL ?

Comment échapper aux signes de pourcentage littéral dans le mode NO_BACKSLASH_ESCAPES de MySQL ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-25 14:09:12438parcourir

How to Escape Literal Percent Signs in MySQL's NO_BACKSLASH_ESCAPES Mode?

Échappement de la connexion littérale en pourcentage dans NO_BACKSLASH_ESCAPES Mode MySQL

Dans le mode NO_BACKSLASH_ESCAPES de MySQL, l'échappement du caractère % à l'aide de la méthode habituelle (%) n'est pas reconnu. Cela peut poser un défi lors de l'exécution de requêtes LIKE qui impliquent des signes de pourcentage littéraux.

Pour échapper à un % ou _ littéral dans ce mode, un caractère d'échappement doit être spécifié après le mot-clé LIKE. La syntaxe pour ce faire est :

SELECT * FROM table_name
WHERE column_name LIKE 'pattern_with_escaped_character' escape 'escape_character';

Par exemple, considérons un tableau avec les valeurs suivantes :

  • 5 % de réduction
  • 50 % de réduction

Pour récupérer toutes les lignes contenant le littéral "% de réduction", la requête suivante peut être utilisé :

SELECT * FROM mytable
WHERE mycol LIKE '5\% off' escape '\';

Notez que le caractère d'échappement est la barre oblique inverse (), suivie du signe de pourcentage littéral.

Alternativement, pour créer une requête qui fonctionne quel que soit le mode NO_BACKSLASH_ESCAPES, un autre un caractère d'échappement peut être utilisé. Par exemple :

SELECT * FROM mytable
WHERE mycol LIKE '5|% off' escape '|';

Dans ce cas, le caractère barre verticale (|) est utilisé comme caractère d'échappement. En spécifiant un caractère d'échappement, il est possible d'échapper au mécanisme d'échappement par défaut basé sur une barre oblique inverse et d'obtenir les résultats souhaités.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn