网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle 9i 在AIX 5L 上的安装、建.
.FreeBSD-5.2下安装ORACLE9i手记.
.ORACLE建库过程与操作.
.ORACLE常用第三方软件介绍.
.ORACLE问题,每天10问(七).
.手工创建数据库的全部脚本及说明.
.利用SQL语句完成位操作.
.pessimistic锁定对optimistic锁定.
.详细讲解Oracle数据库管理员认证.
.CVS使用探讨.
.ORACLE常用傻瓜问题1000问全集(.
.解读Oracle 9201的控制文件(一).
.ORACLE数据库中SQL*NET常见问题解.
.我的oracle笔记六(oracle优化方.
.Oracle LogMiner终结版.
.oracle中Decode()函数使用技巧的.
.系统启动脚本分析(6)--其它一些.
.[oracle]使用Oracle10g jdbc 驱动.
.改变或关闭Oracle XDB的ftp和htt.
.ORACLE在HP-UX下的系列问题处理(.

Oracle存储过程中去掉重复字符串函数

发表日期:2008-2-9


以下函数是本人在编写Oracle数据库存储过程时写的函数,觉得该函数通用性较强,因此发表出来供需要的人参考。 这个函数的功能主要是用于去除给定字符串中重复的字符串.在使用中需要指定字符串的分隔符.示例: str := MyReplace('13,14,13,444', ','); 输出:
13,14,444 create or replace function MyReplace(oldStr varchar2, sign varchar2) return varchar2 is str varchar2(1000); 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; 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 MyReplace;

上一篇:Java开发使用Oracle数据库的注意事项 人气:581
下一篇:关于Oracle数据库的性能优化心得 人气:919
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐