Maison > base de données > tutoriel mysql > Comment extraire des caractères numériques des données MySQL pour des comparaisons précises ?

Comment extraire des caractères numériques des données MySQL pour des comparaisons précises ?

Patricia Arquette
Libérer: 2024-12-07 21:16:16
original
467 Les gens l'ont consulté

How to Extract Numeric Characters from MySQL Data for Accurate Comparisons?

Extraction de caractères numériques à partir de données MySQL pour des comparaisons précises

Pour comparer des valeurs numériques spécifiques dans une table MySQL, où les entrées de base de données peuvent contenir des valeurs non -caractères numériques, une méthode fiable est nécessaire pour supprimer ces caractères non numériques. Alors que les fonctions PHP comme preg_replace offrent une solution pratique, MySQL nécessite une approche native.

Fonction MySQL pour supprimer les non-chiffres

Pour effectuer efficacement cette tâche, la commande MySQL suivante une fonction peut être créée :

CREATE FUNCTION STRIP_NON_DIGIT(input VARCHAR(255))
RETURNS VARCHAR(255)
BEGIN
   DECLARE output   VARCHAR(255) DEFAULT '';
   DECLARE iterator INT          DEFAULT 1;
   WHILE iterator < (LENGTH(input) + 1) DO
      IF SUBSTRING(input, iterator, 1) IN ( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' ) THEN
         SET output = CONCAT(output, SUBSTRING(input, iterator, 1));
      END IF;
      SET iterator = iterator + 1;
   END WHILE;
   RETURN output;
END
Copier après la connexion

Utilisation

Pour utilisez la fonction STRIP_NON_DIGIT dans une requête, appliquez-la simplement à la colonne cible comme suit :

SELECT * FROM foo WHERE STRIP_NON_DIGIT(bar) = '12345';
Copier après la connexion

Cette requête récupérera les enregistrements où la colonne à barres, après avoir supprimé ses caractères non numériques, correspond à la saisie de l'utilisateur de '12345'.

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 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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal