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 ?

Comment utiliser REGEXP pour une correspondance précise des chaînes dans les requêtes MySQL : lorsque LIKE échoue, quelle est l'alternative ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-26 12:21:03215parcourir

How to Use REGEXP for Precise String Matching in MySQL Queries:  When LIKE Fails, What's the 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 :

  • ^ correspond au début de la chaîne.
  • ALA correspond à la chaîne "ALA" au début de la chaîne.
  • [0-9] correspond à n'importe quel caractère à un chiffre.

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!

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