Erhalten numerischer Werte aus Zeichenfolgen in MySQL-Abfragen
Ein Benutzer stieß auf eine Nichtübereinstimmung zwischen zwei Spalten mit Preisen und suchte nach einer Lösung, um die numerischen Werte zu extrahieren Wert aus der Zeichenfolgendarstellung in der Spalte „price_display“ und aktualisieren Sie die entsprechende Preisspalte.
Ein erfolgreicher Ansatz verwendete eine Funktion, die speziell Extrahierte Ziffern aus der Zeichenfolge und berücksichtigt so verschiedene Präfixe oder Postfixe. Diese Funktion mit der Bezeichnung „Ziffern“ wurde wie folgt erstellt:
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;
Um ihre Wirksamkeit zu demonstrieren, betrachten Sie die Abfrage:
SELECT digits('.00Fr');
Die Ausgabe wäre „1000“, passend zu erwarteter numerischer Wert. Diese angepasste Funktion bietet eine zuverlässige Methode zum Extrahieren numerischer Werte aus Zeichenfolgen in MySQL-Abfragen und geht dabei auf die spezifischen Anforderungen des Benutzers ein.
Das obige ist der detaillierte Inhalt vonWie kann ich numerische Werte aus Zeichenfolgen in MySQL-Abfragen extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!