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
397 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!

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
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