Maison > Article > base de données > Comment utiliser REGEXP pour une correspondance précise des chaînes dans les requêtes MySQL : lorsque LIKE échoue, quelle est l'alternative ?
Utilisation de REGEXP pour la recherche Regex dans les requêtes MySQL
Votre requête renvoie des enregistrements nuls car l'opérateur LIKE ne convient pas pour faire correspondre un seul caractère suivi de un caractère à un chiffre. Pour y parvenir, vous pouvez utiliser l'opérateur REGEXP, qui fournit des capacités de correspondance d'expressions régulières plus avancées dans MySQL.
Dans votre cas, la requête suivante correspondra aux enregistrements commençant par la chaîne « ALA » et suivis d'un seul chiffre :
<code class="mysql">SELECT trecord FROM `tbl` WHERE (trecord REGEXP '^ALA[0-9]')</code>
Voici comment fonctionne l'opérateur REGEXP :
Combinaison ces éléments, la requête ci-dessus ne correspondra qu'aux enregistrements commençant par « ALA » et suivis immédiatement par un caractère à un chiffre.
Par exemple, si votre table contient les enregistrements suivants :
trecord ------- ALA0000 ALA0001 ALA0002 ALAB000
La requête renverra le résultat suivant :
trecord ------- ALA0000 ALA0001 ALA0002
Notez que l'opérateur REGEXP est plus puissant que LIKE et prend en charge un large éventail de modèles d'expressions régulières. Il s'agit d'un outil polyvalent pour la correspondance avancée de chaînes dans les requêtes MySQL.
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!