Heim > Datenbank > MySQL-Tutorial > Wie kann ich Zahlen aus Zeichenfolgen in MySQL extrahieren?

Wie kann ich Zahlen aus Zeichenfolgen in MySQL extrahieren?

DDD
Freigeben: 2025-01-09 16:41:42
Original
333 Leute haben es durchsucht

How Can I Extract Numbers from Strings in MySQL?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage