此功能应跳过0到9之间的数字 - 没有别的。为什么它也会跳过空白?例如。 strip_digits(“St.Johnes”)导致“St.Johnes”
BEGIN
DECLARE i, len SMALLINT DEFAULT 1;
DECLARE ret CHAR(255) DEFAULT '';
DECLARE c CHAR(1);
SET len = CHAR_LENGTH( str );
SET ret = '';
REPEAT
BEGIN
SET c = MID( str, i, 1 );
IF ASCII(c)<ASCII('0') OR ASCII(c)>ASCII('9') THEN
SET ret=CONCAT(ret,c);
END IF;
SET i = i + 1;
END;
UNTIL i > len END REPEAT;
RETURN ret;
END
答案 0 :(得分:2)