读书人

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

发布时间: 2013-10-21 17:02:52 作者: rapoo

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;
/

读书人网 >PB

热点推荐