Maison > base de données > tutoriel mysql > Comment échapper aux caractères de pourcentage et de soulignement dans le mode NO_BACKSLASH_ESCAPES de MySQL ?

Comment échapper aux caractères de pourcentage et de soulignement dans le mode NO_BACKSLASH_ESCAPES de MySQL ?

Mary-Kate Olsen
Libérer: 2024-12-01 00:08:11
original
774 Les gens l'ont consulté

How to Escape Percent and Underscore Characters in MySQL's NO_BACKSLASH_ESCAPES Mode?

Échapper au pourcentage littéral et aux caractères de soulignement dans MySQL avec le mode NO_BACKSLASH_ESCAPES

Lorsque MySQL s'exécute en mode NO_BACKSLASH_ESCAPES, la méthode standard pour échapper au pourcentage littéral (%) et traits de soulignement (_) utilisant le caractère barre oblique inverse () n’est pas applicable. Cet article propose d'autres moyens d'échapper ces caractères spécifiquement dans ce mode.

Problème

Considérons l'exemple suivant : Une colonne dans une table MySQL contient des valeurs telles que "5 % de réduction" et "50 % de réduction". La requête LIKE suivante, qui utilise le caractère d'échappement barre oblique inverse standard, ne fonctionnera pas en mode NO_BACKSLASH_ESCAPES :

SELECT * FROM mytable
WHERE mycol LIKE '5\% off'
Copier après la connexion

Solution

En mode NO_BACKSLASH_ESCAPES, vous pouvez échapper au pourcentage et soulignez les caractères en utilisant une séquence d'échappement différente. Une option consiste à utiliser la barre oblique inverse précédée du mot-clé d'échappement. Par exemple :

SELECT * FROM mytable
WHERE mycol LIKE '5\% off' ESCAPE '\'
Copier après la connexion

Solution alternative

Vous pouvez également utiliser un caractère différent pour vous échapper, tel que le caractère barre verticale (|). La requête ci-dessous fonctionnera quel que soit le paramètre du mode NO_BACKSLASH_ESCAPES :

SELECT * FROM mytable
WHERE mycol LIKE '5|% off' ESCAPE '|'
Copier après la connexion

En utilisant ces techniques, vous pouvez efficacement échapper aux pourcentages littéraux et aux caractères de soulignement dans les requêtes MySQL, même en mode NO_BACKSLASH_ESCAPES.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal