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. javafx自动补全

    public boolean showUpload2HomeDialog(final OperationInfo initDataInfo) { boolean result = false; try ...

  2. WebForm(response内置函数)#转

    利用提供的内置对象,可以实现页面之间的数据传递及实现一些特定的功能,如:缓冲输出,页面重定向等等. Response :响应,反应 Request:请求 Server:服务器 Application: ...

  3. 《锋利的JQuery》中的动画效果:

    说实话,虽然这本书已经很老了,老到什么程度呢,这本书以JQuery1.9以前的版本写就的,toggle()方法的(func1,func2,...)这个切换事件的功能已经被删去了 但是这本书还是挺8错的 ...

  4. python3下全自动快速度在线安装所有插件

    把下面的内容复制存为pip.conf文件, [global]timeout = 60index-url = https://pypi.python.org/simple/no-cache-dir = ...

  5. git的团队协作开发

    title: git的团队协作开发 date: 2018-04-24 14:00:03 tags: [git] --- 项目负责人创建组织架构 在控制面板中点击组织按钮,添加组织,在这里可以把组织理解 ...

  6. spark遇到的错误1-内存不足

    原来的代码: JavaRDD<ArticleReply> javaRdd = rdd.flatMap(new FlatMapFunction<String, ArticleReply ...

  7. php面向对象 封装继承多态 接口、重载、抽象类、最终类总结

    1.面向对象 封装继承多态  接口.重载.抽象类.最终类 面向对象 封装继承多态  首先,在解释面向对象之前先解释下什么是面向对象? [面向对象]1.什么是类? 具有相同属性(特征)和方法(行为)的一 ...

  8. Go语言学习笔记(2)

    数组 var a [2]string a[0] = "Hello" a[1] = "World" primes := [6]int{2, 3, 5, 7, 11 ...

  9. 二叉堆复习(包括d堆)

    要期中考了……我真的是什么也不会啊,书都没看过TAT. 好吧整理一下二叉堆,这里就以最大堆为例好了. 首先二叉堆其实是一棵CBT,满足父节点的键值大于左右子节点的键值(wikipedia把这个叫键值, ...

  10. 在前台页面写java代码,导入java的包