Mysql中实现提取字符串中的数字的自定义函数分享
程序员文章站
2024-03-01 08:13:34
因需要在mysql的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的mysql函数,可以有效的从字符串中提取出数字。
该mysql提取出字符串中...
因需要在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))<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
以一个字符串举例:
复制代码 代码如下:
select getnum("dfdfd666")
结果返回:666。
并且该函数可以提取出字符串中非连贯的数字,如:
复制代码 代码如下:
select getnum("dfdd111fd666")
结果返回:111666。