技术开发 频道

oralce中编程获得数据中的数字部分

    【IT168 技术文档】在oralce开发过程中编程获得数据中的数字部分,文中脚本可以直接拷贝运行。现有字符串'23456中国3-00=.,45',想得到结果2345630045。

    --方法一:translate函数

select translate('23456中国3-00=.,45', '0123456789'||'23456中国3-00=.,45','0123456789') from dual;

    --方法二:自定义函数

create or replace function f_filter_str(var_str varchar) return varchar is var_str_new varchar2(2000); begin for i in 1..length(var_str) loop if ascii(substr(var_str,i,1))>=48 and ascii(substr(var_str,i,1))<=57 then var_str_new := var_str_new || substr(var_str,i,1); end if; end loop; return var_str_new; end f_filter_str; / select f_filter_str('23456中国3-00=.,45') from dual;

    --方法三:正则表达式

    --oracle10g以上版本

select regexp_replace('23456中国3-00=.,45','[^0-9]') from dual;
0
相关文章