Verwenden Sie die CAST-Funktion und die benutzerdefinierte Funktion, um Zahlen aus Zeichenfolgen in MySQL zu extrahieren
Die CAST-Funktion von MySQL kann Zahlen aus einer Zeichenfolge extrahieren, Voraussetzung ist jedoch, dass die Zeichenfolge mit einer Zahl beginnen muss. Um Zahlen aus einer beliebigen Zeichenfolge zu extrahieren, können Sie eine benutzerdefinierte Funktion verwenden, z. B. den folgenden Code:
<code class="language-sql">DELIMITER $$ CREATE FUNCTION `ExtractNumber`(in_string VARCHAR(50)) RETURNS INT NO SQL BEGIN DECLARE ctrNumber VARCHAR(50); DECLARE finNumber VARCHAR(50) DEFAULT ''; DECLARE sChar VARCHAR(1); DECLARE inti INTEGER DEFAULT 1; IF LENGTH(in_string) > 0 THEN WHILE(inti <= LENGTH(in_string)) DO SET sChar = SUBSTRING(in_string, inti, 1); IF sChar BETWEEN '0' AND '9' THEN SET finNumber = CONCAT(finNumber, sChar); END IF; SET inti = inti + 1; END WHILE; RETURN CAST(finNumber AS UNSIGNED); ELSE RETURN 0; END IF; END$$ DELIMITER ;</code>
Mit dieser Funktion können Zahlen aus Zeichenfolgen in MySQL-Abfragen extrahiert werden:
<code class="language-sql">SELECT ExtractNumber("abc1234def") AS number;</code>
Diese Abfrage gibt 1234 zurück, da die benutzerdefinierte Funktion die Zeichenfolge durchläuft, die numerischen Zeichen identifiziert und sie zu einer einzigen Zahl verkettet.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich Ziffern aus einer Zeichenfolge in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!