É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 :
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!