5,889
社区成员
发帖
与我相关
我的任务
分享
--自定义一个函数好了。呵呵
create function fun_getnumeric
(i_strvalue varchar(255)
)
returns int
language sql
begin atomic
declare strlength int;
declare outnumeric int;
declare v_instr varchar(255);
declare v_cpy varchar(255);
declare v_i integer;
declare v_chzchar varchar(2);
set v_instr=ltrim(rtrim(i_strvalue));
set v_i = 1;
set v_chzchar = '';
set v_cpy = '';
while (v_i <= length(v_instr)) do
set v_chzchar = substr(v_instr,v_i,1);
if (ascii(v_chzchar) >= 48 and ascii(v_chzchar) <= 57) then
set v_cpy = v_cpy||v_chzchar;
end if;
set v_i = v_i + 1;
end while;
set outnumeric = int(ltrim(rtrim(v_cpy)));
return outnumeric;
end;
--听说可以用正则表达式的原理!但不会。。也没用过。