Heim > Datenbank > MySQL-Tutorial > Wie extrahiere ich Ziffern aus einer Zeichenfolge in MySQL?

Wie extrahiere ich Ziffern aus einer Zeichenfolge in MySQL?

Barbara Streisand
Freigeben: 2025-01-09 16:37:42
Original
613 Leute haben es durchsucht

How to Extract Digits from a String in MySQL?

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

Mit dieser Funktion können Zahlen aus Zeichenfolgen in MySQL-Abfragen extrahiert werden:

<code class="language-sql">SELECT ExtractNumber("abc1234def") AS number;</code>
Nach dem Login kopieren

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!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage