CREATE OR REPLACE FUNCTION remove_rame_string(oldstr VARCHAR2,p_sign VARCHAR2) RETURN VARCHAR2 IS/**************************************************** ** Oracle去掉重复字符串 ** 函数名称:RemoveSameStr ** 参    数:【名称】         【类型 】      【说明】 **           oldStr           varchar2       要处理的字符串 **           sign             varchar2       字符串分隔符 ** 返 回 值:l_RESULT         varchar2       不包含重复子串的记录 ****************************************************/str          VARCHAR2(2000);currentindex NUMBER;startindex   NUMBER;endindex     NUMBER;TYPE str_type IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;arr      str_type;l_result VARCHAR2(1000);
BEGIN-- 空字符串 IF oldstr IS NULL THENRETURN('');END IF;--字符串太长 IF length(oldstr) > 2000 THENRETURN(oldstr);END IF;str          := oldstr;currentindex := 0;startindex   := 0;LOOPcurrentindex := currentindex + 1;endindex     := instr(str, p_sign, 1, currentindex);IF (endindex <= 0) THENEXIT;END IF;arr(currentindex) := TRIM(substr(str, startindex + 1, endindex - startindex - 1));startindex := endindex;END LOOP;--取最后一个字符串: arr(currentindex) := substr(str, startindex + 1, length(str));--去掉重复出现的字符串: FOR i IN 1 .. currentindex - 1 LOOPFOR j IN i + 1 .. currentindex LOOPIF arr(i) = arr(j) AND arr(i) = p_sign THENarr(j) := '';END IF;END LOOP;END LOOP;str := '';FOR i IN 1 .. currentindex LOOPIF arr(i) IS NOT NULL THENstr := str || p_sign || arr(i);--数组置空: arr(i) := '';END IF;END LOOP;--去掉前面的标识符: l_result := substr(str, 2, length(str));RETURN(l_result);
END remove_rame_string;

PL SQL中如何去掉字符串中重复的字符相关推荐

  1. Java中如何去掉字符串中的非法字符(预防SQL注入)

    1 /** 2 * 防止SQL注入,校验字符串参数是否合法 3 * @param s 4 * @return 5 */ 6 public static boolean isValid(String s ...

  2. Python 技术篇-读取文件,将内容保存dict字典中。去掉字符串中的指定字符方法,dict字典的遍历

    要读取的文件内容如下,txt 格式. 启用微信通知:是 启用邮件通知:是 读取的每行内容后包括换行符 "\n",用 strip() 就可以很方便去掉. d = {} # 定义一个d ...

  3. c语言滤去所有非数字字符,Python: 去掉字符串中的非数字(或非字母)字符

    >>> crazystring = 'dade142.;!0142f[.,]ad' 只保留数字 >>> filter(str.isdigit, crazystrin ...

  4. C# 使用正则表达式去掉字符串中的数字

    C# 使用正则表达式去掉字符串中的数字 /// <summary> /// 去掉字符串中的数字 /// </summary> /// <param name=" ...

  5. C# 使用正则表达式去掉字符串中的数字,或者去掉字符串中的非数字

    /// 去掉字符串中的数字 public static string RemoveNumber(string key)           {               return Regex.R ...

  6. php去字符串空格,php怎么去掉字符串中空格

    php去掉字符串中空格的方法:1.使用正则表达式删除字符串中间的空格及去除字符串首尾空格:2.使用str_replace和strtr函数删除字符串中间的空格:3.使用trim函数去除一个字符串两端空格 ...

  7. js去掉字符串中的所有空格

    1.使用js去掉字符串中的所有空格 1.1.定义一个去空格函数方法 function Trim(str,is_global){var result;result = str.replace(/(^\s ...

  8. php取掉字符串第一位支付,php怎样去掉字符串中的第一个字符

    php去掉字符串中的第一个字符的方法:可以利用substr()函数来实现.substr()函数可以返回字符串的提取部分,如果失败则返回false,或者返回一个空字符串. substr() 函数返回字符 ...

  9. C#如何去掉字符串中所有空格

    由于空格的ASCII码值是32,因此,在去掉字符串中所有的空格时,只需循环访问字符串中的所有字符,并判断它们的ASCII码值是不是32即可.去掉字符串中所有空格的关键代码如下: testCharEnu ...

最新文章

  1. 线上订单号重复了?一招搞定它!
  2. MyBatis自动生成工具,开发编码好帮手
  3. 【Android 内存优化】Java 内存模型 ( Java 虚拟机内存模型 | 线程私有区 | 共享数据区 | 内存回收算法 | 引用计数 | 可达性分析 )
  4. Spring Boot 项目如何做性能监控?
  5. 单个接口添加超时时间_SpringBoot使用Guava令牌桶对接口限流
  6. 为什么 Python 3 把 print 改为函数?
  7. 调节e18-d80nk的测量距离_地坪研磨机磨盘平整度的调节方法及好处
  8. 单双目相机畸变校正--极线校正
  9. sharedpreferences使用方法_Google 推荐在 MVVM 架构中使用 Kotlin Flow
  10. hdu3949(线性基,求第k小的异或和
  11. Ubuntu18.04快捷键
  12. 【渝粤教育】国家开放大学2018年春季 0603-22T建筑工程管理与实务 参考试题
  13. php批量给文件添加头部版权,Perl 批量添加Copyright版权信息
  14. 简述神经元网络控制的作用和特点
  15. Unity资源热更-Addressables总结(一)
  16. linux-查看CPU温度
  17. mac地址修改_全球首款支持电脑名称和MAC地址修改的浏览器 VMLogin超级防关联指纹浏览器 同时支持模拟真人输入,支持自定义经纬度...
  18. html图片滚动首尾互联,网页中多个图片首尾相接来回滚动
  19. 再谈BPM(业务流程管理)为企业带来哪些提升
  20. Deep Anomaly Detection with Deviation Networks 论文笔记

热门文章

  1. HDU 1114 Piggy-Bank 猪仔储钱罐(完全背包)
  2. 2017年第38届国际名家具(东莞)展览会会刊(参展商名录)
  3. Maya导出ASCII格式的FBX文件
  4. Choregraphe中NAO机器人如何使用纯python指令盒让机器人说话
  5. 2019考研上海交通大学823计算机通信网真题回忆
  6. c++实现汉诺塔(图文并茂)
  7. SQLException错误码
  8. Python格式化新年祝福语
  9. lisp注册注册机源码_[求助]请教在lisp中加入注册码
  10. mysql 文本类型 深度解析