Maison > base de données > tutoriel mysql > Comment puis-je extraire et filtrer les chiffres consécutifs supérieurs à 20 à partir d'un champ de texte MySQL ?

Comment puis-je extraire et filtrer les chiffres consécutifs supérieurs à 20 à partir d'un champ de texte MySQL ?

DDD
Libérer: 2024-11-30 18:37:14
original
444 Les gens l'ont consulté

How Can I Extract and Filter Consecutive Digits Greater Than 20 from a MySQL Text Field?

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
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal