Mir ist klar, dass dies ein uraltes Thema ist, aber als ich dieses Problem googelte, konnte ich keine einfache Lösung finden (ich habe die ehrwürdigen Agenten gesehen, denke aber, dass dies eine einfachere Lösung ist), also hier ist eine Funktion, die ich geschrieben habe und die ziemlich gut zu funktionieren scheint.
DROP FUNCTION IF EXISTS STRIP_NON_DIGIT;
DELIMITER $$
CREATE FUNCTION STRIP_NON_DIGIT(input VARCHAR(255))
RETURNS VARCHAR(255)
BEGIN
DECLARE output VARCHAR(255) DEFAULT '';
DECLARE iterator INT DEFAULT 1;
WHILE iterator < (LENGTH(input) + 1) DO
IF SUBSTRING(input, iterator, 1) IN ( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' ) THEN
SET output = CONCAT(output, SUBSTRING(input, iterator, 1));
END IF;
SET iterator = iterator + 1;
END WHILE;
RETURN output;
END
$$