当前位置: 代码迷 >> PB >> PB 如何截取字符串中的数字
  详细解决方案

PB 如何截取字符串中的数字

热度:100   发布时间:2016-04-29 06:35:37.0
PB 怎么截取字符串中的数字
按条件查询数据库后

编号列为:

BD001
BD111
BD999
BD1000

获取最大的值的时候。获取到的是BD999

本来我是想在数据窗口添加一个计算列,截取数字后排序,然后取出最大值。

主要一个问题就是,前面的字符串是根据拼音码组成的。有可能是三位或者四位。所以我计算列不知道从第几位开始截取。

求帮忙



------解决方案--------------------
循环截取判断ascii吧  遇到不是字符的就开始截取数字吧
------解决方案--------------------
或者一个字符一个字符循环
for i = 1 to len(id)
if isnumber(min(i,1)) then exit
next
number = right(len(id) - i + 1)
------解决方案--------------------
在数据库里写函数,如在Oracle中:
create function  f_string_num_max(varchar2 source)
return  number 
is 
declare 
v_num int;
v_string varchar2(100);
begin 
v_num:= to_number(regrep_substr(source,'d+'))
return v_num;
end f_string_num_max;
/
  相关解决方案