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

Wie kann ich Zahlen aus alphanumerischen Zeichenfolgen in MySQL extrahieren?

Patricia Arquette
Freigeben: 2025-01-09 16:52:42
Original
220 Leute haben es durchsucht

How Can I Extract Numbers from Alphanumeric Strings in MySQL?

So extrahieren Sie Zahlen aus MySQL-Strings

Wenn Sie in MySQL mit alphanumerischen Zeichenfolgen arbeiten, müssen Sie manchmal die darin enthaltenen Zahlen extrahieren. Dies kann auf verschiedene Weise erreicht werden.

Explizite Konvertierung verwenden

Wenn die Zeichenfolge mit einem numerischen Zeichen beginnt, können Sie sie mithilfe der Funktion CAST() oder durch Hinzufügen von 0 am Anfang in eine Ganzzahl umwandeln. Zum Beispiel:

SELECT CAST('1234abc' AS UNSIGNED); -- 1234
SELECT '1234abc'+0; -- 1234
Nach dem Login kopieren

Zahlen mit einer benutzerdefinierten Funktion extrahieren

Für komplexere Fälle, in denen die Zeichenfolge möglicherweise nicht numerische Zeichen enthält, können Sie eine benutzerdefinierte Funktion erstellen, um nur die Zahlen zu extrahieren. Eine solche Funktion ist:

CREATE FUNCTION `ExtractNumber`(in_string VARCHAR(50)) 
RETURNS INT
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
Nach dem Login kopieren

Benutzerdefinierte Funktion anwenden

Nachdem Sie eine Funktion definiert haben, können Sie sie in einer Abfrage verwenden, um Zahlen aus einer Zeichenfolge zu extrahieren. Zum Beispiel:

SELECT ExtractNumber("abc1234def") AS number; -- 1234
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Zahlen aus alphanumerischen Zeichenfolgen in MySQL extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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