因需要在mysql的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的mysql函数,可以有效的从字符串中提取出数字。 该mysql提取出字符串中的数字函数如下: create function getnum (varstring varchar(50)) returns varchar(30) b
因需要在mysql的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的mysql函数,可以有效的从字符串中提取出数字。
该mysql提取出字符串中的数字函数如下:
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))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
以一个字符串举例:
select getnum(dfdfd666)
结果返回:666。并且该函数可以提取出字符串中非连贯的数字,如:
select getnum(dfdd111fd666)
结果返回:111666。