Maison >base de données >tutoriel mysql >Comment échapper correctement aux esperluettes dans les requêtes SQL ?
Gestion des esperluettes dans les requêtes SQL
Lors de l'interrogation de bases de données, il est crucial d'échapper correctement les esperluettes (&) dans les critères de recherche. Un problème courant survient lorsque vous essayez de récupérer des données contenant des esperluettes dans les noms de champs.
Par exemple, directement en utilisant :
<code class="language-sql">node_name = 'Geometric Vectors \& Matrices'</code>
pourrait échouer. Une méthode plus fiable consiste à utiliser le code ASCII pour l'esperluette :
<code class="language-sql">node_name = 'Geometric Vectors ' || chr(38) || ' Matrices'</code>
Ici, chr(38)
représente le caractère esperluette, garantissant qu'il est traité comme une valeur de chaîne littérale. Cette approche s'est avérée efficace.
Une autre option utilise l'opérateur LIKE
et un caractère générique :
<code class="language-sql">node_name LIKE 'Geometric Vectors _ Matrices'</code>
Cela remplace l'esperluette par un trait de soulignement (_), qui agit comme un caractère générique correspondant à n'importe quel caractère. Bien que cela puisse donner un faux positif si un autre enregistrement a un caractère différent à cette position, cela est généralement peu probable.
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!