CREATE FUNCTION GetNum (Varstring varchar(50)) RETURNS varchar(30) BEGIN DECLARE v_length INT DEFAULT 0; DECLARE v_Tmp varchar(50) default ''; set v_length=CHAR_LENGTH(Varstring); WHILE v_length > 0 DO IF (ASCII(mid(Varstring,v_length,1))>47 and ASCII(mid(Varstring,v_length,1))<58 ) THEN set v_Tmp=concat(v_Tmp,mid(Varstring,v_length,1)); END IF; SET v_length = v_length - 1; END WHILE; RETURN REVERSE(v_Tmp); END;
调用函数:
select GetNum(字段) from table;-- GetNum中的字段名不需要用引号括起来