Methode zur Extraktion von MySQL-Stringnummern
MySQL bietet mehrere Methoden zum Extrahieren von Zahlen aus Zeichenfolgen. Wenn die Zeichenfolge mit einer Zahl beginnt, können Sie die Funktion CAST()
oder eine implizite Typkonvertierung (z. B. „1234abc“ 0) verwenden, um den numerischen Teil zu extrahieren.
Benutzerdefinierte Funktion zur Verarbeitung einer beliebigen Zeichenfolge
Für Zeichenfolgen, die nicht numerische Zeichen oder Zahlen enthalten, die nicht am Anfang der Zeichenfolge stehen, können Sie eine benutzerdefinierte Funktion erstellen, z. B. ExtractNumber
:
<code class="language-sql">CREATE FUNCTION `ExtractNumber`(in_string VARCHAR(50)) RETURNS INT NO SQL BEGIN DECLARE inti INT DEFAULT 0; DECLARE sChar CHAR(1); DECLARE finNumber VARCHAR(50) DEFAULT ""; DECLARE strLength INT; SET strLength = LENGTH(in_string); WHILE(inti < strLength) DO SET sChar = SUBSTRING(in_string, inti + 1, 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); END</code>
Verwendung einer benutzerdefinierten Funktion ExtractNumber
Nachdem die Funktion ExtractNumber
definiert wurde, kann sie in Abfragen verwendet werden:
<code class="language-sql">SELECT ExtractNumber("abc1234def") AS number; -- 1234</code>
Zahlen können mit dieser Funktion oder der Methode CAST()
aus MySQL-Strings in verschiedenen Formaten extrahiert werden.
Das obige ist der detaillierte Inhalt vonWie kann ich Zahlen aus Zeichenfolgen in MySQL extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!