Maison >base de données >tutoriel mysql >Comment puis-je extraire des chiffres consécutifs d'un champ de texte MySQL ?

Comment puis-je extraire des chiffres consécutifs d'un champ de texte MySQL ?

DDD
DDDoriginal
2024-12-05 06:56:10951parcourir

How Can I Extract Consecutive Digits from a MySQL Text Field?

Extraire des chiffres consécutifs d'un champ de texte MySQL

La manipulation de données numériques à partir d'un champ de texte peut être difficile dans MySQL. Pour extraire des chiffres consécutifs d'un tel champ, il est recommandé d'utiliser des fonctions MySQL ou des bibliothèques externes.

Utilisation de la bibliothèque LIB_MYSQLUDF_PREG :

La bibliothèque LIB_MYSQLUDF_PREG fournit de puissantes fonctions d'expression régulière, y compris PREG_CAPTURE pour l'extraction de sous-chaînes. En installant cette bibliothèque dans MySQL, vous pouvez accéder à des fonctions telles que :

  • PREG_CAPTURE(regex, string): Extrait la première sous-chaîne correspondante de la chaîne en fonction de l'expression régulière spécifiée.

Fonction personnalisée pour plus simple Extraction :

Alternativement, la fonction MySQL personnalisée suivante peut être créée pour une extraction de base :

CREATE FUNCTION REGEXP_EXTRACT(string TEXT, exp TEXT)
RETURNS TEXT
DETERMINISTIC
BEGIN
  -- Extract longest matching substring adjusted for ^ or $ in regex

Utilisation :

Pour utiliser cette fonction, appelez-la comme suit :

SELECT REGEXP_EXTRACT(originaltext, '[0-9][0-9]') AS extracted_digits
FROM source
WHERE originaltext regexp '[0-9][0-9]'

Cela extraira la première paire de chiffres correspondante de chaque texte original correspondant. Des critères supplémentaires, tels que la comparaison des chiffres extraits à une valeur, peuvent être ajoutés à la requête si nécessaire.

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