create or replace procedure p_getString
(
p_finalString out varchar2,
p_rulestring in number,
p_sourceString in varchar2
)
as
v_num number:=1;
v_resoucenum number:=1;
v_getnum number;
v_getsting varchar2(2000);
v_errorstring exception;
v_errorrule exception;
begin
if length(p_sourceString) < 18 then
raise v_errorstring;
else
p_finalString:='';
loop
v_getnum := substr(p_rulestring, v_num, 1); -- get the numbers from rule
v_getsting := substr(p_sourceString, v_resoucenum, v_getnum); -- According to the rule number to get the short String
v_resoucenum := v_resoucenum + v_getnum; -- the number of the next short string start position
v_num := v_num + 1;
p_finalString := p_finalString||v_getsting||'/'; -- Splice the short string to the final String
dbms_output.put_line(v_resoucenum);
if substr(p_rulestring, v_num, 1) is null then exit;
end if;
end loop;
if (v_resoucenum -1) < 18 or(v_resoucenum -1) > 18 then
raise v_errorrule;
end if;
p_finalString := substr(p_finalString, 1, length(p_finalString)-1);
end if; exception
when v_errorstring then
p_finalString:='The String length is less than 18!';
when v_errorrule then
p_finalString:='The sum value of the rule numbers less than or more then 18!';
when others then
p_finalString:='Others wrong'; end p_getString;

  

根据23423条件,截取字段‘abdecsdsadsadsad’,以ab/dec/sdsa/ds/ads 输出的更多相关文章

  1. sql按字符截取字段

    字段A=’F:\photo\Winter Leaves.jpg’ 要求:分段截取每段字符[字段A不能为TEXT类型,否则报错] 解决方法: ---截取字符串A的第一个\左边的字符串 ) 输出结果:F: ...

  2. mysql截取字段并插入到新的字段中

    例如:在产品表product表中字段content值为["10"],然后在产品表中新建一个字段product_id,提出字段content的值10,如何实现呢? 解: update ...

  3. 页面截取字段和转码,页面截取字段时候需要进入JS

    截取字段    ${fn:substring(info.cpflmc,0,20)}${fn:length(info.cpflmc)>40?'...':''}             表头list ...

  4. oracle截取字段中的部分字符串

    使用Oracle中Instr()和substr()函数: 在Oracle中可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符. 其语法为: instr(sourceString,de ...

  5. sql查询调优之where条件排序字段以及limit使用索引的奥秘

       奇怪的慢sql 我们先来看2条sql 第一条: select * from acct_trans_log WHERE  acct_id = 1000000000009000757 order b ...

  6. spring mongodb分页,动态条件、字段查询

    使用MongRepository public interface VideoRepository extends MongoRepository<Video, String> { Vid ...

  7. SQL性能优化-查询条件与字段分开执行,union代替in与or,存储过程代替union

    PS:概要.背景.结语都是日常“装X”,可以跳过直接看优化历程 环境:SQL Server 2008 R2.阿里云RDS:辅助工具:SQL 审计 概要 一个订单列表分页查询功能,单从SQL性能来讲,从 ...

  8. SQL截取字段字符串的方法

    set @str='WX15-53-H-53-99-15-335-23'; select @str as '字符串' select len(@str) as '字符长度' select charind ...

  9. 截取字段split

    172.0.0.1String[] splitAddress=qip.split("\\.");//--172001 String ip=splitAddress[0]+" ...

随机推荐

  1. centos7.5下安装teamview

    centos7.5下安装teamview, 1 安装 wget https://download.teamviewer.com/download/linux/teamviewer-host.x86_6 ...

  2. linux 考试2

  3. ajax 406 Not Acceptable

    搞了半天, 后面参照 http://www.th7.cn/web/ajax/201611/194702.shtml, 终于把问题解决了.. 使用ajax向后台请求时,前台报错406 Not Accep ...

  4. Ubuntu系统安装

    一:Ubuntu14.04 安装及使用:[1]制作安装U盘(选择USB-HDD+”并单击后,           一定要点“写入”,注意,“写入”是一个按钮) 以下是详细的连接步骤: https:// ...

  5. Python基础4 迭代器、装饰器、软件开发规范

    本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 孩子,我现在有个需 ...

  6. springboot 前后端分离项目跨域配置

    @Configuration @EnableWebMvc public class CorsConfig implements WebMvcConfigurer { @Override public ...

  7. awk的用法

    awk是什么 awk是一种优良的文本处理工具,同时也是一种脚本语言.awk的三位作者者已将它正式定义为“样式扫描和处理语言”.awk脚本允许您创建简短的程序,这些程序读取输入文件.为数据排序.处理数据 ...

  8. html 自定义属性的获取和应用

    在html 中,我们可以给元素设置自定义属性,格式:  data-属性="属性值",可以设置一个,也可以设置多个 1.获取元素属性的常规方法:直接获取元素,然后使用getAttri ...

  9. World Cup 996B(排队模拟)

    题意:有n个通道,按顺序每一次站一个通道,直到所站的通道没有人 分析:模拟这个过程 #include<cstdio> int main() { ]; while(~scanf(" ...

  10. pbft流程深层分析和解释(转)

    <1>pbft五阶段请求解释 Request  pre-prepare   prepare   commit  执行并reply (1)pre-prepare阶段: 主节点收到客户端请求, ...