Maison > base de données > tutoriel mysql > Comment puis-je extraire des valeurs numériques à partir de chaînes dans des requêtes MySQL ?

Comment puis-je extraire des valeurs numériques à partir de chaînes dans des requêtes MySQL ?

Patricia Arquette
Libérer: 2024-12-04 13:18:10
original
205 Les gens l'ont consulté

How Can I Extract Numerical Values from Strings in MySQL Queries?

Obtention de valeurs numériques à partir de chaînes dans des requêtes MySQL

Rencontreant une inadéquation entre deux colonnes contenant des prix, un utilisateur a cherché une solution pour extraire le chiffre valeur de la représentation sous forme de chaîne dans la colonne price_display et mettez à jour la colonne de prix correspondante.

Une approche réussie utilisait une fonction qui spécifiquement chiffres extraits de la chaîne, accueillant ainsi divers préfixes ou suffixes. Cette fonction, intitulée « chiffres », a été créée comme suit :

CREATE FUNCTION digits( str CHAR(32) ) RETURNS CHAR(32)
BEGIN
  DECLARE i, len SMALLINT DEFAULT 1;
  DECLARE ret CHAR(32) DEFAULT '';
  DECLARE c CHAR(1);

  IF str IS NULL
  THEN 
    RETURN "";
  END IF;

  SET len = CHAR_LENGTH( str );
  REPEAT
    BEGIN
      SET c = MID( str, i, 1 );
      IF c BETWEEN '0' AND '9' THEN 
        SET ret=CONCAT(ret,c);
      END IF;
      SET i = i + 1;
    END;
  UNTIL i > len END REPEAT;
  RETURN ret;
END;
Copier après la connexion

Pour démontrer son efficacité, considérons la requête :

SELECT digits('.00Fr');
Copier après la connexion

Le résultat serait « 1 000 », correspondant au valeur numérique attendue. Cette fonction personnalisée fournit une méthode fiable pour extraire des valeurs numériques à partir de chaînes dans les requêtes MySQL, répondant aux besoins spécifiques de l'utilisateur.

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