最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

[置顶]ORACLE编程的套路字符串分解

来源:懂视网 责编:小采 时间:2020-11-09 16:26:21
文档

[置顶]ORACLE编程的套路字符串分解

[置顶]ORACLE编程的套路字符串分解:作 者按,字符串分解在ORACLE编程中可用于词、字的解析,继而可实现单词搜索的合并,为基础代码。 代码如下,作者保留所有权。 create or replace function FUN_STRING_SPLIT ( v_string IN VARCHAR2, v_sep IN VARCHAR2) r
推荐度:
导读[置顶]ORACLE编程的套路字符串分解:作 者按,字符串分解在ORACLE编程中可用于词、字的解析,继而可实现单词搜索的合并,为基础代码。 代码如下,作者保留所有权。 create or replace function FUN_STRING_SPLIT ( v_string IN VARCHAR2, v_sep IN VARCHAR2) r

作 者按,字符串分解在ORACLE编程中可用于词、字的解析,继而可实现单词搜索的合并,为基础代码。 代码如下,作者保留所有权。 create or replace function FUN_STRING_SPLIT ( v_string IN VARCHAR2, v_sep IN VARCHAR2) return fs.stringList IS/*********

作者按,字符串分解在ORACLE编程中可用于词、字的解析,继而可实现单词搜索的合并,为基础代码。

代码如下,作者保留所有权。

create or replace function FUN_STRING_SPLIT (
 v_string IN VARCHAR2, 
 v_sep IN VARCHAR2)
 return fs.stringList IS
/***************************************************************************/
/* */
/* 字符串分割函数 for ORACLE */
/* @param v_string 母字符串 */
/* @param v_sep 分隔符 */
/* @return 字符串列表 */
/* TYPE stringList IS TABLE OF VARCHAR2(256) INDEX BY BINARY_INTEGER; */
/* @author foolstudio@qq.com */
/* All rights reserved. 未经许可,不得用于商业用途 */
/* */
/***************************************************************************/

 --分隔符长度
 C_LEN int;
 --删除空格后的字符串
 v_str varchar2(256);
 --分隔符位置
 v_pos int;
 --子字符串
 v_sub varchar2(256);
 --数组计数器
 v_i int;
 --结果
 Result fs.stringList;

BEGIN

 v_str := TRIM(v_string);
 --dbms_output.put_line(v_str);
 v_pos := INSTR(v_str, v_sep);
 v_i := 0;
 C_LEN := LENGTH(v_sep);

 --无匹配,整字符串返回
 IF v_pos < 1 AND LENGTH(v_str) > 0 THEN
 Result(v_i) := v_str;
 return Result;
 END IF;

 WHILE v_pos > 0 LOOP

 v_sub := SUBSTR(v_str, 0, v_pos-1);

 --添加到结果数组
 IF LENGTH(v_sub) > 0 THEN
 Result(v_i) := v_sub;
 v_i := v_i+1;
 END IF;

 --dbms_output.put_line(v_sub);
 v_str := SUBSTR(v_str, v_pos+C_LEN);
 --dbms_output.put_line(v_str);
 v_pos := INSTR(v_str, v_sep);

 END LOOP;

 --已无匹配,剩余字符串添加到结果数组
 IF LENGTH(v_str) > 0 THEN
 Result(v_i) := v_str;
 END IF;

 --调试
输出结果 dbms_output.put_line('列表项数量: '||result.count() ); dbms_output.put_line('--['||v_string||'] split by ['||v_sep||']--'); v_i := 0; FOR v_i IN 0..(result.count()-1) LOOP dbms_output.put_line('('||v_i||'): '||result(v_i) ); end loop; --返回结果数组 return Result; END FUN_STRING_SPLIT;

代码注释相当详细,不再对代码进行解释。

经测试,代码支持ORACLE 10及以上版本。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

[置顶]ORACLE编程的套路字符串分解

[置顶]ORACLE编程的套路字符串分解:作 者按,字符串分解在ORACLE编程中可用于词、字的解析,继而可实现单词搜索的合并,为基础代码。 代码如下,作者保留所有权。 create or replace function FUN_STRING_SPLIT ( v_string IN VARCHAR2, v_sep IN VARCHAR2) r
推荐度:
标签: 置顶 分解 套路
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top