Extraction de deux chiffres consécutifs dans MySQL
La requête SQL fournie identifie avec succès les champs de texte contenant deux chiffres consécutifs. Cependant, pour extraire ces nombres dans un champ distinct, envisagez d'incorporer des fonctionnalités supplémentaires dans la requête.
Option 1 : Utilisation de LIB_MYSQLUDF_PREG
Cette bibliothèque open source offre des fonctionnalités régulières améliorées. capacités d'expression pour MySQL. Il fournit des fonctions comme PREG_CAPTURE, permettant l'extraction de correspondances à partir d'une chaîne. Installez et configurez cette bibliothèque pour accéder à ces fonctions.
Option 2 : Fonction définie par l'utilisateur pour l'extraction d'expressions régulières
Créez une fonction personnalisée telle que REGEXP_EXTRACT pour extraire la sous-chaîne correspondante la plus longue. basé sur une expression régulière fournie. Cette fonction peut être affinée pour répondre à des exigences spécifiques, telles que l'inclusion des délimiteurs « ^ » et « $ ».
La fonction REGEXP_EXTRACT peut être modifiée pour répondre à des besoins spécifiques :
CREATE FUNCTION REGEXP_EXTRACT(string TEXT, exp TEXT) RETURNS TEXT DETERMINISTIC BEGIN ... (function code goes here) END
Critères supplémentaires : nombres supérieurs à 20
Une fois que vous avez extrait les nombres en tant que champ, vous pouvez appliquer un filtrage supplémentaire dans votre requête :
SELECT `id`, `number_extracted` FROM ( SELECT `id`, `originaltext` FROM `source` WHERE `originaltext` REGEXP '[0-9][0-9]' ) AS subquery WHERE `number_extracted` > 20
Cette requête étendue renverra les lignes où les nombres extraits dépassent 20. En combinant ces techniques, vous pouvez affiner votre requête MySQL pour extraire et manipuler chiffres consécutifs selon les besoins.
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!