Oracle 存储过程 分解字符串

来源:互联网 发布:淘宝精品推荐女鞋 编辑:程序博客网 时间:2024/05/01 01:40

虽然在网上找到了,但是结果不是很满意,程序没有将最后一串字符取出,然后在程序基础上修改了一下:

create or replace procedure GG(out_name out varchar2, permIds in varchar2) is--permIds的格式 如:5,8,9,45,56,78  p_start        number; --开始的指针,这个为依次增加的,记录","的个数  l_position1    number; --起始位置  l_position2    number;  sub_string     VARCHAR2(50); --每次得到的子串  l_lastPosition number;begin  out_name := '';  p_start     := 1;  l_position1 := 1;  l_lastPosition:= 0;  loop      l_position2 := instr(permIds, ',', 1, p_start); --l_position2 找到“,”的位置    exit when l_position2 = 0;    /* l_position2 - l_position1 为截取长度*/    sub_string := substr(permIds, l_position1, l_position2 - l_position1);        if (l_position2 != 0) then      l_lastPosition := l_position2+1; --记录倒数第二次l_position2的位置,以方便求得最后一个权限    end if;    l_position1 := l_position2 + 1;    p_start     := p_start + 1;  end loop; --找出最后一个  if (l_lastPosition!= length(permIds)) then    sub_string := substr(permIds, l_lastPosition, length(permIds));  end if;end GG;


 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 农行卡被冻结了怎么办 被银行冻结的钱怎么办 蚂蚁花呗冻结了怎么办 淘宝号被冻结了怎么办 qq钱包被冻结了怎么办 浦发信用卡降额怎么办 外地邮政卡丢了怎么办 手机掉了,支付宝怎么办 支付宝手机丢了怎么办 手机丢了,微信怎么办 手机丢后支付宝怎么办 oppo手机被偷了怎么办 三星手机被偷了怎么办 手机被偷了号码怎么办 手机被偷 微信怎么办 手机被偷怎么办,还关机 我的手机被偷了怎么办 医保卡不能用了怎么办 招行u盾丢了怎么办 信用卡刷爆了要怎么办 办分期的卡丢了怎么办 房贷银行卡掉了怎么办 房贷银行卡丢了怎么办? 行驶证丢了怎么办补办 行驶证丢了怎么办异地 浦发信用卡盗刷怎么办 苹果id被盗变砖怎么办 信用卡丢了被刷怎么办 ins注册不了怎么办安卓 偷玩电脑被发现怎么办 做作业不认真的怎么办 老人脑供血不足怎么办 哺乳期吃了辣的怎么办 孕32周胎位臀位怎么办 怀孕32周胎位不正怎么办 7个月胎位不正怎么办 胎心监护老不过怎么办 8个月了胎位不正怎么办 怀孕八个月了胎位不正怎么办 怀孕八个月胎位不正怎么办 欠债的人跑了怎么办