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