Oracle 去掉重复字符串
- create or replace function remove_same_string(oldStr varchar2, sign varchar2) return varchar2 is
- /****************************************************
- ** Oracle去掉重复字符串
- ** 函数名称:RemoveSameStr
- ** 参 数:【名称】 【类型 】 【说明】
- ** oldStr varchar2 要处理的字符串
- ** sign varchar2 字符串分隔符
- ** 返 回 值: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;
- Result varchar2(1000);
- begin
- -- 空字符串
- if oldStr is null then
- return('');
- end if;
- --字符串太长
- if length(oldStr) > 2000 then
- return(oldStr);
- end if;
- str := oldStr;
- currentIndex := 0;
- startIndex := 0;
- loop
- currentIndex := currentIndex + 1;
- endIndex := instr(str, sign, 1, currentIndex);
- if (endIndex <= 0) then
- exit;
- 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 loop
- for j in i + 1 .. currentIndex loop
- if arr(i) = arr(j) then
- arr(j) := '';
- end if;
- end loop;
- end loop;
- str := '';
- for i in 1 .. currentIndex loop
- if arr(i) is not null then
- str := str || sign || arr(i);
- --数组置空:
- arr(i) := '';
- end if;
- end loop;
- --去掉前面的标识符:
- Result := substr(str, 2, length(str));
- return(Result);
- end remove_same_string;
Oracle 去掉重复字符串的更多相关文章
- oracle去掉重复记录语句
oracle去掉重复记录语句 比如现在有一人员表 (表名:peosons) 若想将姓名.身份证号.住址这三个字段完全相同的记录查询出来 select p1.* from persons p1 ...
- oracle如何去除字符串中的重复字符
create or replace function remove_rame_string(oldStr varchar2, sign varchar2) return varchar2 is /** ...
- 输入一个字符串,去掉重复的字符,并按ASCII值排序-华为机试
import java.util.Scanner; //输入字符串,去掉重复的字符,并按ASSIC码值排序 public class quChong { public static void main ...
- 字符串数组(String []) 去掉重复值的方法
public class Demo { /** * 去掉重复值 */ public static void main(String[] args) { String test = "100, ...
- 伪列:Oracle显示查询结果前几条记录用rownum<=。去掉重复记录,保留最早录入记录:取出最小ROWID
显示6-10行记录: 去掉重复记录,保留最早录入记录:取出最小ROWID SELECT deptno,dname,loc,min(ROWID) FROM dept GROUP BY deptno,dn ...
- $.unique() 对象组成的数组去掉重复对象
发现一件事,一个完全由对象组成的数组,用$.unique()方法去掉重复的时候不管用 var arr = [{text:'第一个',value:'1'},{text:'第二个',value:'2'}, ...
- js 去掉重复数组
js去掉重复数组 重点一:字符串转数组 strArr.join(',') 重点二:做循环数组删除的时候,每次循环就把color[i] 去对比i之前所有数组color组合起来的字符串 比如 : i=1 ...
- WPF中使用Hashtable剔除重复字符串(比如电话号码)
原文:WPF中使用Hashtable剔除重复字符串(比如电话号码) 本文中的输入框中的字符串是逗号隔开的,你可以换成其他特别的字符串.本篇中的亮点:1. 里面有一个玻璃样式按钮,用XAML制作2. W ...
- aabccd统计每个字符出现的次数,结果显示{ a: 2, b: 1, c: 2, d: 1 };去掉重复的字符,使结果显示abcd
遍历字符串的方式和遍历数组的方式有点相似,或者说就是相同的.在学习数组的遍历方法之前,可以通过for循环去遍历数组,同样,字符串也可以:字符串跟数组都有一个length的属性.下面代码奉上,个人思路! ...
随机推荐
- line-box(转)
inline-block是什么? Inline-block是元素display属性的一个值.这个名字的由来是因为,display设置这个值的元素,兼具行内元素( inline elements)跟块级 ...
- 伸展树 Splay 模板
学习Splay的时候参考了很多不同的资料,然而参考资料太杂的后果就是模板调出来一直都有问题,尤其是最后发现网上找的各种资料均有不同程度的错误. 好在啃了几天之后终于算是啃下来了. Splay也算是平衡 ...
- python赋值和拷贝----一切皆对象,参数皆引用
摘要: 1 python中的一切事物皆为对象,并且规定参数的传递都是对象的引用. 2 python参数传递都是"传对象引用"方式.实际上相当于c++中传值和传引用的结合. 3 如 ...
- bootstrap中的居左和居右
1.pull-left和pull-right 2.text-left.text-center和text-right
- CSS实现三角形方法二--border+content
方法说明: 1.将一个div块的内容设置为空(content=" "), 2.设置它的边框(上下左右)颜色为透明(transparent), 3.设置它的左侧边框颜色为pink. ...
- [iOS]C语言技术视频-01-变量的定义
下载地址: 链接: http://pan.baidu.com/s/1eQJaVwY 密码: c7j8
- ibatis一对多 数据库设计及实现
iBatis的多表关联. ibatis的表关联,和数据库语句无关,是在Java程序中,把若干语句的结果关联到一起.这种关联形式,虽然在大数据量时是很奢侈的行为,但是看起来很干净,用起来也很方便. 这里 ...
- Android中使用http协议访问网络
HTTP协议的工作原理:客户端向服务器端发送http请求,服务器端收到请求后返回一下数据给客户端,客户端接受消息并进行解析. 在Android中发送http请求的方式有两种,第一种是通过HttpURL ...
- Github上的600多个iOS开源类库
Github上的600多个iOS开源类库,入下图所示,里面有很多资源,学习积累的好资源 地址:http://github.ibireme.com/github/list/ios/
- leetcode--001 max point on a line
package leetcode; import java.util.HashMap; class Point{ int x; int y; Point(){ x=0; y=0; } Point(in ...